zidane-ui 9.1.4 → 9.1.6

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 (251) hide show
  1. package/dist/adapters/server-extensions-host.js +1 -1
  2. package/dist/adapters/server-host.js +2 -1
  3. package/dist/adapters/server-machines-host.js +1 -1
  4. package/dist/adapters/server-session-host.js +87 -13
  5. package/dist/adapters/server-settings-host.js +1 -1
  6. package/dist/appearance/AppearanceProvider.js +2 -2
  7. package/dist/appearance/headless/index.js +1 -1
  8. package/dist/approvals/headless/index.js +2 -2
  9. package/dist/chat/HostTranscript.d.ts +5 -1
  10. package/dist/chat/HostTranscript.js +16 -4
  11. package/dist/chat/RunEstimateChip.d.ts +5 -3
  12. package/dist/chat/RunEstimateChip.js +33 -3
  13. package/dist/chat/Transcript.js +1 -1
  14. package/dist/chat/composer/ConversationBadges.js +16 -10
  15. package/dist/chat/composer/composer-bus.d.ts +2 -2
  16. package/dist/chat/composer/composer-bus.js +2 -2
  17. package/dist/chat/composer/use-composer-stores.js +1 -1
  18. package/dist/chat/composer/use-run-meter.js +1 -1
  19. package/dist/chat/headless/composer/conversation-badges.d.ts +8 -3
  20. package/dist/chat/headless/composer/conversation-badges.js +26 -11
  21. package/dist/chat/headless/composer/index.js +2 -2
  22. package/dist/chat/headless/composer/labels-chrome.d.ts +3 -1
  23. package/dist/chat/headless/composer/labels-chrome.js +3 -1
  24. package/dist/chat/headless/index.d.ts +6 -3
  25. package/dist/chat/headless/index.js +16 -13
  26. package/dist/chat/headless/labels.d.ts +54 -1
  27. package/dist/chat/headless/labels.js +62 -2
  28. package/dist/chat/headless/secrets.d.ts +32 -0
  29. package/dist/chat/headless/secrets.js +43 -0
  30. package/dist/chat/headless/session-list.d.ts +45 -0
  31. package/dist/chat/headless/sidebar/estimates.js +13 -1
  32. package/dist/chat/headless/sidebar/history.d.ts +71 -0
  33. package/dist/chat/headless/sidebar/history.js +174 -0
  34. package/dist/chat/headless/sidebar/index.d.ts +3 -2
  35. package/dist/chat/headless/sidebar/index.js +2 -1
  36. package/dist/chat/headless/sidebar/labels.d.ts +50 -0
  37. package/dist/chat/headless/sidebar/labels.js +1 -0
  38. package/dist/chat/headless/sidebar/query.d.ts +2 -2
  39. package/dist/chat/headless/sidebar/query.js +6 -3
  40. package/dist/chat/headless/sidebar/types.d.ts +7 -1
  41. package/dist/chat/headless/sidebar/view.js +2 -0
  42. package/dist/chat/headless/transcript/auth-failure.d.ts +67 -0
  43. package/dist/chat/headless/transcript/auth-failure.js +87 -0
  44. package/dist/chat/headless/transcript/index.d.ts +2 -1
  45. package/dist/chat/headless/transcript/index.js +2 -1
  46. package/dist/chat/headless/transcript/nesting.d.ts +3 -3
  47. package/dist/chat/headless/transcript/nesting.js +12 -4
  48. package/dist/chat/index.d.ts +4 -2
  49. package/dist/chat/index.js +3 -1
  50. package/dist/chat/interactions/InboxPanel.d.ts +6 -2
  51. package/dist/chat/interactions/InboxPanel.js +82 -44
  52. package/dist/chat/interactions/PlanCard.d.ts +2 -2
  53. package/dist/chat/interactions/PlanCard.js +1 -1
  54. package/dist/chat/interactions/QuestionField.d.ts +8 -3
  55. package/dist/chat/interactions/QuestionField.js +89 -8
  56. package/dist/chat/interactions/QuestionForm.d.ts +3 -1
  57. package/dist/chat/interactions/QuestionForm.js +48 -10
  58. package/dist/chat/interactions/SecretInput.d.ts +32 -0
  59. package/dist/chat/interactions/SecretInput.js +72 -0
  60. package/dist/chat/interactions/card-ui.d.ts +5 -3
  61. package/dist/chat/interactions/card-ui.js +5 -3
  62. package/dist/chat/interactions/index.d.ts +2 -1
  63. package/dist/chat/interactions/index.js +2 -1
  64. package/dist/chat/sidebar/SessionSidebar.js +2 -0
  65. package/dist/chat/sidebar/SidebarFilterMenu.d.ts +7 -2
  66. package/dist/chat/sidebar/SidebarFilterMenu.js +26 -2
  67. package/dist/chat/sidebar/SidebarSessionRow.d.ts +3 -1
  68. package/dist/chat/sidebar/SidebarSessionRow.js +8 -3
  69. package/dist/chat/sidebar/sidebar-live.js +8 -4
  70. package/dist/chat/transcript/AuthFailureCard.d.ts +34 -0
  71. package/dist/chat/transcript/AuthFailureCard.js +358 -0
  72. package/dist/chat/transcript/InteractionToolBody.js +12 -2
  73. package/dist/chat/transcript/actions.d.ts +24 -1
  74. package/dist/chat/transcript/index.d.ts +3 -2
  75. package/dist/chat/transcript/index.js +2 -1
  76. package/dist/chat/transcript/notices.d.ts +2 -1
  77. package/dist/chat/transcript/notices.js +13 -1
  78. package/dist/chat/transcript/script-input.d.ts +1 -1
  79. package/dist/chat/transcript/shell-block.js +1 -1
  80. package/dist/components/HowItWorks.d.ts +8 -1
  81. package/dist/components/HowItWorks.js +2 -2
  82. package/dist/components/RowActionsMenu.d.ts +6 -1
  83. package/dist/components/RowActionsMenu.js +4 -0
  84. package/dist/core.css +24 -0
  85. package/dist/dist/{index-WlE93Q6d.d.ts → index-DqCio7Nd.d.ts} +36 -3
  86. package/dist/dist/index-f-XWIoYo.d.ts +1 -0
  87. package/dist/dist/index.d.ts +6 -0
  88. package/dist/dist/sandbox-B4OW6oNx.d.ts +2 -0
  89. package/dist/dist/timeout-B5pO5I5a.d.ts +30 -0
  90. package/dist/extensions/ExtensionSettingsPage.js +1 -1
  91. package/dist/extensions/ExtensionSettingsSidebar.js +1 -1
  92. package/dist/extensions/headless/fixture-host.js +1 -1
  93. package/dist/extensions/headless/index.js +4 -4
  94. package/dist/extensions/hooks.js +1 -1
  95. package/dist/files/DiffsTab.js +1 -1
  96. package/dist/files/EditorColumn.js +1 -1
  97. package/dist/files/MediaDiff.js +1 -1
  98. package/dist/files/SearchPanel.js +121 -53
  99. package/dist/files/headless/name-match.js +29 -14
  100. package/dist/files/useEntryActions.js +1 -1
  101. package/dist/files/useOpenFiles.js +1 -1
  102. package/dist/git/WherePicker.js +2 -2
  103. package/dist/git/headless/environment.d.ts +6 -1
  104. package/dist/git/headless/environment.js +5 -2
  105. package/dist/git/headless/labels.d.ts +2 -0
  106. package/dist/git/headless/labels.js +2 -0
  107. package/dist/git/index.d.ts +2 -1
  108. package/dist/git/index.js +2 -1
  109. package/dist/git/useStartFromPanel.d.ts +22 -0
  110. package/dist/git/useStartFromPanel.js +91 -0
  111. package/dist/keybindings/KeyCommands.js +1 -1
  112. package/dist/keybindings/KeybindingsProvider.js +1 -1
  113. package/dist/keybindings/headless/catalog.d.ts +1 -1
  114. package/dist/keybindings/headless/catalog.js +14 -2
  115. package/dist/keybindings/headless/index.js +2 -2
  116. package/dist/keybindings/headless/key-scope.d.ts +4 -2
  117. package/dist/keybindings/headless/key-scope.js +17 -2
  118. package/dist/keybindings/headless/overrides.js +1 -1
  119. package/dist/machines/HostSyncPanel.js +1 -1
  120. package/dist/machines/SyncOutcomeBadge.js +1 -1
  121. package/dist/machines/headless/index.js +1 -1
  122. package/dist/onboarding/demos/features.d.ts +9 -1
  123. package/dist/onboarding/demos/features.js +107 -2
  124. package/dist/onboarding/demos/how-it-works.d.ts +5 -1
  125. package/dist/onboarding/demos/how-it-works.js +120 -2
  126. package/dist/onboarding/demos/index.js +1 -1
  127. package/dist/onboarding/headless/labels.d.ts +17 -0
  128. package/dist/onboarding/headless/labels.js +17 -0
  129. package/dist/onboarding/index.js +4 -4
  130. package/dist/onboarding/marks.d.ts +1 -2
  131. package/dist/onboarding/marks.js +4 -12
  132. package/dist/onboarding/steps/ConnectorsStep.js +1 -1
  133. package/dist/onboarding/steps/ReadyStep.js +1 -1
  134. package/dist/onboarding/steps/SkillsStep.js +1 -1
  135. package/dist/onboarding/steps/connect/ProviderPanel.js +1 -1
  136. package/dist/onboarding/tutorials.d.ts +3 -1
  137. package/dist/onboarding/tutorials.js +2 -1
  138. package/dist/palette/app-sources.js +1 -1
  139. package/dist/palette/headless/app-sources.js +10 -0
  140. package/dist/palette/headless/labels.js +2 -0
  141. package/dist/session/ArtifactsPanel.js +1 -1
  142. package/dist/session/PanelAttention.d.ts +14 -6
  143. package/dist/session/PanelAttention.js +35 -24
  144. package/dist/session/PlanTracker.d.ts +54 -0
  145. package/dist/session/PlanTracker.js +413 -0
  146. package/dist/session/ProjectHome.d.ts +15 -2
  147. package/dist/session/ProjectHome.js +158 -85
  148. package/dist/session/RemindersPanel.d.ts +25 -0
  149. package/dist/session/RemindersPanel.js +526 -0
  150. package/dist/session/SecretsPanel.d.ts +19 -0
  151. package/dist/session/SecretsPanel.js +241 -0
  152. package/dist/session/SessionProvider.d.ts +26 -5
  153. package/dist/session/SessionProvider.js +51 -6
  154. package/dist/session/StepStatusIcon.d.ts +24 -0
  155. package/dist/session/StepStatusIcon.js +50 -0
  156. package/dist/session/TodoList.d.ts +4 -3
  157. package/dist/session/TodoList.js +6 -5
  158. package/dist/session/headless/fixture-host.d.ts +32 -22
  159. package/dist/session/headless/fixture-host.js +86 -51
  160. package/dist/session/headless/fixture-plans.d.ts +57 -0
  161. package/dist/session/headless/fixture-plans.js +141 -0
  162. package/dist/session/headless/fixture-schedules.d.ts +49 -0
  163. package/dist/session/headless/fixture-schedules.js +133 -0
  164. package/dist/session/headless/home-layout.d.ts +10 -2
  165. package/dist/session/headless/home-layout.js +7 -2
  166. package/dist/session/headless/host.d.ts +85 -13
  167. package/dist/session/headless/index.d.ts +5 -3
  168. package/dist/session/headless/index.js +5 -3
  169. package/dist/session/headless/labels.d.ts +95 -12
  170. package/dist/session/headless/labels.js +67 -18
  171. package/dist/session/headless/plans.d.ts +53 -0
  172. package/dist/session/headless/plans.js +78 -0
  173. package/dist/session/headless/reminder-labels.d.ts +63 -0
  174. package/dist/session/headless/reminder-labels.js +84 -0
  175. package/dist/session/headless/schedules.d.ts +93 -0
  176. package/dist/session/headless/schedules.js +190 -0
  177. package/dist/session/headless/secrets.d.ts +28 -0
  178. package/dist/session/headless/secrets.js +48 -0
  179. package/dist/session/index.d.ts +7 -5
  180. package/dist/session/index.js +6 -4
  181. package/dist/session/testing/contract.d.ts +18 -5
  182. package/dist/session/testing/contract.js +351 -43
  183. package/dist/session/testing/index.d.ts +4 -2
  184. package/dist/session/testing/index.js +4 -2
  185. package/dist/settings/headless/catalog.js +17 -1
  186. package/dist/settings/headless/index.d.ts +2 -2
  187. package/dist/settings/headless/index.js +3 -3
  188. package/dist/settings/headless/labels.d.ts +0 -2
  189. package/dist/settings/headless/labels.js +0 -2
  190. package/dist/settings/headless/layout.js +7 -1
  191. package/dist/settings/headless/providers.d.ts +17 -1
  192. package/dist/settings/headless/providers.js +19 -1
  193. package/dist/settings/headless/search.d.ts +1 -1
  194. package/dist/settings/rows.d.ts +1 -1
  195. package/dist/settings/rows.js +2 -2
  196. package/dist/settings/sections/appearance/AppearanceSection.js +2 -2
  197. package/dist/settings/sections/claude-import/ClaudeImportDialog.js +1 -1
  198. package/dist/settings/sections/editor/EditorSection.js +1 -1
  199. package/dist/settings/sections/environments/EnvironmentsSection.js +1 -1
  200. package/dist/settings/sections/extensions/ChangeOriginDialog.js +1 -1
  201. package/dist/settings/sections/extensions/CreateExtensionDialog.js +1 -1
  202. package/dist/settings/sections/extensions/ExtensionsSection.js +1 -1
  203. package/dist/settings/sections/host-catalog/HostCatalogSection.js +1 -1
  204. package/dist/settings/sections/instructions/InstructionsSection.js +1 -1
  205. package/dist/settings/sections/keybindings/labels.d.ts +2 -0
  206. package/dist/settings/sections/keybindings/labels.js +2 -0
  207. package/dist/settings/sections/keybindings/rows.js +8 -0
  208. package/dist/settings/sections/mcp/McpSection.js +1 -1
  209. package/dist/settings/sections/mcp/McpServerRow.js +1 -1
  210. package/dist/settings/sections/models/ModelRows.js +2 -2
  211. package/dist/settings/sections/providers/ProvidersSection.js +209 -201
  212. package/dist/settings/sections/providers/ServerProvidersSection.js +1 -1
  213. package/dist/settings/sections/shared/catalog.js +1 -1
  214. package/dist/settings/sections/skills/SkillList.js +1 -1
  215. package/dist/settings/sections/skills/SkillsSection.js +2 -2
  216. package/dist/styles.css +59 -1
  217. package/dist/terminal/HostTerminalSurface.js +2 -2
  218. package/dist/workspace/PanelContentView.d.ts +22 -4
  219. package/dist/workspace/PanelContentView.js +112 -16
  220. package/dist/workspace/PanelGlyph.d.ts +21 -0
  221. package/dist/workspace/PanelGlyph.js +33 -0
  222. package/dist/workspace/PanelHome.js +5 -3
  223. package/dist/workspace/PanelStrip.js +11 -4
  224. package/dist/workspace/PanelToolbar.d.ts +32 -0
  225. package/dist/workspace/PanelToolbar.js +194 -0
  226. package/dist/workspace/WorkspaceProvider.d.ts +3 -1
  227. package/dist/workspace/WorkspaceProvider.js +6 -2
  228. package/dist/workspace/extension-tabs.js +5 -2
  229. package/dist/workspace/headless/host.d.ts +4 -0
  230. package/dist/workspace/headless/index.d.ts +3 -1
  231. package/dist/workspace/headless/index.js +4 -2
  232. package/dist/workspace/headless/labels.d.ts +10 -0
  233. package/dist/workspace/headless/labels.js +11 -1
  234. package/dist/workspace/headless/pages.d.ts +15 -0
  235. package/dist/workspace/headless/pages.js +49 -0
  236. package/dist/workspace/headless/tab-mark.d.ts +14 -0
  237. package/dist/workspace/headless/tab-mark.js +27 -0
  238. package/dist/workspace/headless/view.d.ts +7 -1
  239. package/dist/workspace/index.d.ts +3 -2
  240. package/dist/workspace/index.js +3 -2
  241. package/dist/workspace/testing/index.js +6 -0
  242. package/dist/workspace/workspace-key-commands.js +3 -3
  243. package/package.json +2 -2
  244. package/src/styles/motion.css +13 -0
  245. package/src/styles/onboarding.css +0 -1
  246. package/src/styles/primitives.css +10 -0
  247. package/src/styles/workspace.css +17 -0
  248. package/dist/session/TodosPanel.d.ts +0 -19
  249. package/dist/session/TodosPanel.js +0 -251
  250. package/dist/session/headless/todos.d.ts +0 -22
  251. package/dist/session/headless/todos.js +0 -38
@@ -91,8 +91,9 @@ import { InteractionCard, InteractionCardProps } from "./interactions/Interactio
91
91
  import { PlanBody, PlanBodyProps, PlanCard, PlanCardProps } from "./interactions/PlanCard.js";
92
92
  import { QuestionField, QuestionFieldProps, isRequired } from "./interactions/QuestionField.js";
93
93
  import { AnsweredQuestions, AnsweredQuestionsProps, QuestionForm, QuestionFormProps, seedDefaults } from "./interactions/QuestionForm.js";
94
+ import { SecretInput, SecretInputProps } from "./interactions/SecretInput.js";
94
95
  import "./interactions/index.js";
95
- import { TranscriptActions, TranscriptActionsProvider, TranscriptActionsProviderProps, useModelName, useTranscriptActions } from "./transcript/actions.js";
96
+ import { TranscriptAccounts, TranscriptActions, TranscriptActionsProvider, TranscriptActionsProviderProps, useModelName, useTranscriptActions } from "./transcript/actions.js";
96
97
  import { DiffLines, DiffLinesProps } from "./transcript/DiffLines.js";
97
98
  import { EditDiffBlock, EditDiffBlockProps } from "./transcript/EditDiffBlock.js";
98
99
  import { ExchangeFoldRow, ExchangeFoldRowProps, FoldHeader, FoldHeaderProps } from "./transcript/fold.js";
@@ -104,6 +105,7 @@ import { Markdown, MarkdownDiagrams, MarkdownDiagramsProps, MarkdownLinkProps, M
104
105
  import { MermaidDiagram, MermaidDiagramProps } from "./transcript/MermaidDiagram.js";
105
106
  import { MessageGroupRow, MessageGroupRowProps } from "./transcript/messages.js";
106
107
  import { COMMAND_DETAIL_LINE, CommandDetailRow, CommandDetailRowProps, CommandNoteRow, CommandNoteRowProps, ErrorRow, ErrorRowProps, FailureRow, FailureRowProps, InfoRow, InfoRowProps, NoticeRow, NoticeRowProps, SessionEventRow, SessionEventRowProps, SpawnEndRow, SpawnEndRowProps, SpawnStartRow, SpawnStartRowProps } from "./transcript/notices.js";
108
+ import { AuthFailureCard, AuthFailureCardProps } from "./transcript/AuthFailureCard.js";
107
109
  import { AttachmentIcon, AttachmentIconProps, UserPromptAttachments, UserPromptAttachmentsProps, UserPromptRow, UserPromptRowProps } from "./transcript/prompt.js";
108
110
  import { PromptLines, PromptLinesProps, copyPromptLines } from "./transcript/prompt-lines.js";
109
111
  import { TextRow, TextRowProps, ThinkingBatchRow, ThinkingBatchRowProps, ThinkingRow, ThinkingRowProps } from "./transcript/prose.js";
@@ -157,4 +159,4 @@ import { UserBashRow, UserBashRowProps } from "./transcript/user-bash.js";
157
159
  import { RowPlace, ScrollPosition, StickToBottomOptions, useStickToBottom } from "./transcript/useStickToBottom.js";
158
160
  import { useTranscriptSelectionCopy } from "./transcript/useTranscriptSelectionCopy.js";
159
161
  import "./transcript/index.js";
160
- export { ATTACHMENT_NOTICE_MS, AUTO_FILL_PAGES, AgentPicker, AgentPickerDialog, AgentPickerDialogProps, AgentPickerProps, AgentProfile, AnsiSpans, type AnsiSpansProps, AnsiText, type AnsiTextProps, AnsweredQuestions, AnsweredQuestionsProps, ApprovalDock, ApprovalDockProps, ArchivedBanner, ArchivedBannerProps, AttachmentIcon, AttachmentIconProps, AttachmentLabelFn, AttachmentLabelParts, AttachmentNotices, AttachmentNoticesProps, AttachmentRefusedError, AttachmentRow, AttachmentRowProps, AttachmentTextState, AttachmentTiles, AttachmentTilesProps, BADGE_GLYPH, BadgeEffectContext, BadgeMenuComposer, BadgeMenuProvider, BadgeMenuProviderProps, BadgeMenuSystem, CHIP_CARD_WIDTH, CODE_PANEL, COMMAND_DETAIL_LINE, CardMarkdown, CardMarkdownProps, Caret, CaretProps, ChatProvider, ChatProviderProps, ChipCard, ChipCardProps, ChipHover, ChipHoverProps, ChipOpener, CodeBlockSlotProps, CodemodeScript, type CodemodeScriptProps, CommandCard, CommandCardProps, CommandDetailRow, CommandDetailRowProps, CommandNoteRow, CommandNoteRowProps, CommandScope, CommandScopeContext, CommitCard, CommitCardProps, CompactSummaryRow, CompactSummaryRowProps, Composer, type ComposerAttachment, ComposerBadge, ComposerBadgeTone, ComposerBadges, ComposerBadgesProps, ComposerControls, ComposerControlsProps, ComposerDefaults, ComposerDock, ComposerDockProps, ComposerDraft, ComposerHandle, ComposerHostProvider, ComposerHostProviderProps, ComposerProps, ComposerResult, ComposerRetry, ComposerSearch, ComposerStatusPills, ComposerStatusPillsProps, ComposerSubmit, ComposerTarget, ContextBreakdown, type ContextBreakdownData, ContextBreakdownProps, ContextCost, ContextGauge, ContextOrb, ContextOrbProps, ContextUsage, ConversationBadges, ConversationBadgesProps, Cursor, CvRow, CvRowProps, CycleAgentOptions, DEFAULT_BADGE_ORDER, DEFAULT_TRANSCRIPT_OPTIONS, DEFAULT_TRANSCRIPT_RENDERERS, DaemonOrb, DaemonOrbButton, DaemonOrbButtonProps, DaemonOrbProps, DefaultInlineText, DefaultInlineTextProps, DefaultMarkdown, DefaultMarkdownProps, DefaultPrompt, DefaultPromptProps, DefaultSessionTitle, DefaultSessionTitleProps, DiffLines, DiffLinesProps, DockCard, DockCardProps, DockRow, DockRowProps, Dot, DotProps, DraftServer, DraftTarget, DraftTargetOptions, DraftTargetRequest, EFFORT_LEVELS, EditDiffBlock, EditDiffBlockProps, EffortLevel, EffortPickerDialog, EffortPickerDialogProps, ErrorRow, ErrorRowProps, ExchangeFoldRow, ExchangeFoldRowProps, FILL_MIN_PROMPTS, FailedMark, FailedMarkProps, FailureRow, FailureRowProps, FileBadgeIcon, FileBadgeIconProps, FoldHeader, FoldHeaderProps, GUTTER_STEP_PX, GroupGlyph, GroupGlyphProps, HostAgentPicker, HostAgentPickerProps, HostBadge, HostBadgeProps, HostComposer, HostComposerProps, HostContextOrb, HostContextOrbProps, HostInteractions, HostInteractionsProps, HostModelChainList, HostModelChainListProps, HostModelImages, HostModelOptionsPicker, HostModelOptionsPickerProps, HostModelPicker, HostModelPickerProps, HostPicker, HostPickerProps, HostStatusDot, HostStatusDotProps, HostTranscript, HostTranscriptProps, INLINE_CODE_CLASS, ImageGenerationBlock, ImageGenerationBlockProps, ImageModelList, ImageModelListProps, type ImageModelRow, InboxPanel, InboxPanelProps, InfoRow, InfoRowProps, InlineChipText, InlineChipTextProps, InlineCode, InlineCodeProps, InlineTextSlotProps, InteractionCard, InteractionCardProps, InteractionTool, InteractionToolBody, InteractionToolBodyProps, LazyRow, LazyRowProps, LineState, LinkBadge, LinkBadgeProps, LinkIcon, LinkIconProps, LiveOutput, type LiveOutputProps, LoadEarlierRow, LoadEarlierRowProps, LoadFullOutputButton, LoadFullOutputButtonProps, MAX_FILE_ATTACHMENT_BYTES, MAX_IMAGE_ATTACHMENT_BYTES, MAX_MATCHES, MAX_TEXT_PREVIEW_BYTES, Markdown, MarkdownContext, MarkdownContextValue, MarkdownDiagrams, MarkdownDiagramsProps, MarkdownLinkProps, MarkdownProps, MarkdownSlotProps, MentionItem, MermaidDiagram, type MermaidDiagramProps, MessageGroupRow, MessageGroupRowProps, type ModelCatalogRow, ModelCatalogState, ModelChainFooter, ModelChainFooterProps, ModelChainHeader, ModelChainHeaderProps, ModelChainImages, ModelChainList, ModelChainListProps, ModelChainPopover, ModelChainPopoverProps, ModelChainRow, ModelChainRowProps, ModelChainRows, ModelChainRowsProps, ModelChainTooltip, ModelChainTooltipProps, ModelChoice, ModelFlag, ModelFlagProps, ModelGroupHeader, ModelGroupHeaderProps, ModelKind, ModelMeta, ModelMetaProps, ModelOption, ModelOptionsPicker, ModelOptionsPickerProps, type ModelPickRef, ModelPicker, ModelPickerDialog, ModelPickerDialogProps, ModelPickerFrame, ModelPickerFrameProps, ModelPickerProps, ModelProviderChip, ModelProviderChipProps, ModelProviderPills, ModelProviderPillsProps, ModelReasoning, ModelReasoningProps, ModelVerdict, ModelVerdictProps, ModelWindow, ModelWindowProps, NO_COMPOSER_HINT, NestedToolCalls, NestedToolCallsProps, NewSessionDefaults, NewSessionModelSource, NoticeRow, NoticeRowProps, OPTION_ICON, OpenBadgeMenu, OpenSessionContext, OrbState, OrderedBadge, PASTE_FOLD_CHAR_THRESHOLD, PASTE_FOLD_LINE_THRESHOLD, ParsedRef, ParsedReferenceUrl, PdfPreview, PdfPreviewProps, PickerGroup, PickerPill, PickerPillProps, PlanBody, PlanBodyProps, PlanCard, PlanCardProps, ProjectMenu, ProjectMenuProps, PromptEcho, PromptEchoProps, PromptHistoryProvider, PromptHistoryProviderProps, PromptHistoryValue, PromptLines, PromptLinesProps, PromptSlotProps, ProseMarkdown, ProseMarkdownProps, QuestionField, QuestionFieldProps, QuestionForm, QuestionFormProps, ReadFileBlock, ReadFileBlockProps, RefChip, RefChipProps, RefMatch, ReferenceChip, ReferenceChipProps, ReferenceText, ReferenceTextProps, RetryPill, RetryPillProps, type RowActionItem, RowContext, RowFrame, RowFrameProps, RowIconsContext, RowPlace, RunEstimateChip, RunEstimateChipProps, RunEstimatesProvider, RunEstimatesProviderProps, RunReceiptInline, RunReceiptInlineProps, RunStatusChip, RunStatusChipProps, RunSummaryRow, RunSummaryRowProps, RunnableCodeBlock, type RunnableCodeBlockProps, ScopeToggle, ScopeToggleProps, ScrollPosition, SearchHighlightStyle, SelectCursor, SelectCursorProps, SelectTurnCommands, SelectTurnExit, SelectTurnHint, SelectTurnHintKeys, SelectTurnHintKeysProps, type SelectTurnHintProps, SelectTurnKeysOptions, SelectTurnProvider, SelectTurnProviderProps, SelectTurnState, SelectTurnValue, SendButton, SendButtonProps, SendPromptControls, SendPromptOptions, SendRoute, ServerScopeToggle, ServerScopeToggleProps, SessionActivityFilter, SessionArchiveFilter, SessionCard, SessionCardProps, SessionDotState, SessionEventRow, SessionEventRowProps, SessionFilterAction, SessionFilterAxis, SessionFilterExtra, SessionFilterMenu, SessionFilterMenuProps, SessionFilterPlacement, SessionGroupHeader, SessionGroupHeaderProps, SessionHostHeader, SessionHostHeaderProps, SessionList, SessionListProps, SessionListRow, SessionListRowProps, SessionMeters, SessionMetersTarget, SessionProjectAxis, SessionStreamsProvider, SessionStreamsProviderProps, SessionTitleSlotProps, SessionView, ShellBlockProvider, type ShellBlockProviderProps, type ShellBlockScope, ShowMoreRow, ShowMoreRowProps, SkillCard, SkillCardProps, SlotEntry, SpawnEndRow, SpawnEndRowProps, SpawnStartRow, SpawnStartRowProps, StatusDot, StatusDotProps, StickToBottomOptions, SubagentBlock, SubagentBlockProps, SuggestionKind, SuggestionPopup, SuggestionPopupProps, SuggestionSource, SuggestionState, THINKING_LEVELS, TRANSCRIPT_OPTION_KEYS, TRIGGER, TextPreview, TextPreviewProps, TextPreviewSlotProps, TextRow, TextRowProps, ThinkingBatchRow, ThinkingBatchRowProps, ThinkingLevel, ThinkingRow, ThinkingRowProps, Throbber, ThrobberProps, ThrobberVariant, ToolBatchRow, ToolBatchRowProps, ToolBodySlotProps, ToolDetails, ToolDetailsProps, ToolGlyph, ToolGlyphProps, ToolInput, ToolInputProps, ToolMedia, type ToolMediaItem, ToolMediaProps, ToolRow, ToolRowProps, ToolTiming, ToolTimingProps, Transcript, TranscriptActions, TranscriptActionsProvider, TranscriptActionsProviderProps, TranscriptFind, TranscriptFindKeyOptions, TranscriptFindOptions, TranscriptFindTarget, TranscriptOptions, TranscriptProps, TranscriptRenderers, TranscriptRenderersProvider, type TranscriptRenderersProviderProps, TranscriptRow, TranscriptRowProps, TranscriptRowSlot, TranscriptRowSlotProps, TranscriptRows, TranscriptRowsInput, TranscriptScrollInputs, TranscriptSearch, TranscriptSearchOptions, TranscriptSearchProps, TranscriptSearchState, TranscriptSelection, TranscriptSettling, TranscriptTurnMenu, TurnCommands, TurnCommandsOptions, TurnMenuActions, TurnMenuTarget, UserBashRow, UserBashRowProps, UserPromptAttachments, UserPromptAttachmentsProps, UserPromptRow, UserPromptRowProps, WORK_HOLD_MS, WORK_SHOW_MS, WorkerDetails, WorkerDetailsProps, __resetComposerScopesForTests, attachmentErrorText, attachmentLightboxItems, canJoinChain, catalogFromProviders, claimComposerFocus, classifyInlineRef, colorForCategory, compactWindow, contextGauge, copyPromptLines, createTurnCommands, decodeDataUrlAsText, defaultAttachmentLabel, defaultAttachmentTileLabel, detectLanguage, dotStateFor, drawsImageGeneration, effectiveImageModel, fileBadgeName, fileBadgeSpec, findModel, findRefs, focusComposer, formatBytes, groupKeyOf, hasComposerFor, hasFocusedComposer, hasInteractionBody, holdForceMountRows, imageCatalogRows, imageModelKey, imageRequestsOf, isCaretAtEnd, isCaretAtStart, isFocusedComposer, isHiddenRow, isPdfAttachment, isRequired, isTextLike, lineStateOf, lineupKeyOf, linkGlyph, mergeBadgeOrder, modelKey, modelLineup, modelNameOf, modelSearchScore, mountRowNow, nextProfileId, numberRef, offCatalogRows, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, orbState, orderComposerBadges, parseRefUrl, parseReferenceUrl, parseToolMedia, pastedTextFilename, pickRefOf, pickerGroups, plainTextToDocJson, providerAccountLabel, providerColor, providerHue, providerTint, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, readAttachment, refHref, refKey, referenceUrl, registerComposerScope, remarkReferences, remarkRefs, resolveChain, resolvePick, resourceErrorText, rowKey, savedPaths, seedDefaults, shouldFoldPasteToAttachment, siteIconValue, suggestionExtension, textAttachment, unresolveChain, useAgentProfiles, useAllInteractions, useAttachmentIngest, useAttachmentNotices, useAttachmentRemoval, useAttachmentText, useBackgroundMount, useBadgeMenu, useCacheHints, useCaptureRunState, useChatHost, useChatLabels, useChipResolution, useCommand, useCommitInfo, useComposerFor, useComposerHost, useComposerLabels, useComposerModelName, useComposerProviderLabel, useComposerSearch, useCycleAgent, useDraftKnobs, useDraftTarget, useFillViewportScrollback, useForceMountRows, useFullOutput, useHasFocusedComposer, useHasSessionEvents, useHostResource, useHostSessions, useInteractionHead, useIsSessionHydrated, useJoinedRunProgress, useModelCatalog, useModelKnobs, useModelName, useModelPickerPrefs, useModelPickerPrefsStore, useNewSessionDefaults, useOptionalChatHost, usePeekRunSeq, usePeekSessionEvents, usePeekSessionRunning, usePendingInteractions, usePromptHistory, useProviderReadyPoll, useReferenceMatches, useReferenceProviders, useReferenceView, useReferencedSession, useRememberedKnobs, useResolveChipNow, useRowIcons, useRunAccruedCost, useRunElapsedSec, useRunEstimate, useRunMeterValue, useRunOutputTokens, useRunProgress, useRunStartedAt, useSelectStops, useSelectTurn, useSelectTurnKeys, useSendPrompt, useSessionContextStatus, useSessionEdits, useSessionEvents, useSessionEventsSelector, useSessionFallbackModel, useSessionMeters, useSessionPage, useSessionRetry, useSessionRunning, useSessionStreamActions, useSessionStreams, useSessionSystemMd, useSettledReveal, useShellBlockScope, useSiteIcon, useSkill, useStickToBottom, useSustainedWork, useToolMedia, useTranscriptActions, useTranscriptFind, useTranscriptFindKey, useTranscriptOptions, useTranscriptRenderers, useTranscriptRows, useTranscriptScroll, useTranscriptSearch, useTranscriptSelectionCopy, useTurnCommands, useTurnMenu, useWheelHoverPause, withPrimary, workShowDelay };
162
+ export { ATTACHMENT_NOTICE_MS, AUTO_FILL_PAGES, AgentPicker, AgentPickerDialog, AgentPickerDialogProps, AgentPickerProps, AgentProfile, AnsiSpans, type AnsiSpansProps, AnsiText, type AnsiTextProps, AnsweredQuestions, AnsweredQuestionsProps, ApprovalDock, ApprovalDockProps, ArchivedBanner, ArchivedBannerProps, AttachmentIcon, AttachmentIconProps, AttachmentLabelFn, AttachmentLabelParts, AttachmentNotices, AttachmentNoticesProps, AttachmentRefusedError, AttachmentRow, AttachmentRowProps, AttachmentTextState, AttachmentTiles, AttachmentTilesProps, AuthFailureCard, AuthFailureCardProps, BADGE_GLYPH, BadgeEffectContext, BadgeMenuComposer, BadgeMenuProvider, BadgeMenuProviderProps, BadgeMenuSystem, CHIP_CARD_WIDTH, CODE_PANEL, COMMAND_DETAIL_LINE, CardMarkdown, CardMarkdownProps, Caret, CaretProps, ChatProvider, ChatProviderProps, ChipCard, ChipCardProps, ChipHover, ChipHoverProps, ChipOpener, CodeBlockSlotProps, CodemodeScript, type CodemodeScriptProps, CommandCard, CommandCardProps, CommandDetailRow, CommandDetailRowProps, CommandNoteRow, CommandNoteRowProps, CommandScope, CommandScopeContext, CommitCard, CommitCardProps, CompactSummaryRow, CompactSummaryRowProps, Composer, type ComposerAttachment, ComposerBadge, ComposerBadgeTone, ComposerBadges, ComposerBadgesProps, ComposerControls, ComposerControlsProps, ComposerDefaults, ComposerDock, ComposerDockProps, ComposerDraft, ComposerHandle, ComposerHostProvider, ComposerHostProviderProps, ComposerProps, ComposerResult, ComposerRetry, ComposerSearch, ComposerStatusPills, ComposerStatusPillsProps, ComposerSubmit, ComposerTarget, ContextBreakdown, type ContextBreakdownData, ContextBreakdownProps, ContextCost, ContextGauge, ContextOrb, ContextOrbProps, ContextUsage, ConversationBadges, ConversationBadgesProps, Cursor, CvRow, CvRowProps, CycleAgentOptions, DEFAULT_BADGE_ORDER, DEFAULT_TRANSCRIPT_OPTIONS, DEFAULT_TRANSCRIPT_RENDERERS, DaemonOrb, DaemonOrbButton, DaemonOrbButtonProps, DaemonOrbProps, DefaultInlineText, DefaultInlineTextProps, DefaultMarkdown, DefaultMarkdownProps, DefaultPrompt, DefaultPromptProps, DefaultSessionTitle, DefaultSessionTitleProps, DiffLines, DiffLinesProps, DockCard, DockCardProps, DockRow, DockRowProps, Dot, DotProps, DraftServer, DraftTarget, DraftTargetOptions, DraftTargetRequest, EFFORT_LEVELS, EditDiffBlock, EditDiffBlockProps, EffortLevel, EffortPickerDialog, EffortPickerDialogProps, ErrorRow, ErrorRowProps, ExchangeFoldRow, ExchangeFoldRowProps, FILL_MIN_PROMPTS, FailedMark, FailedMarkProps, FailureRow, FailureRowProps, FileBadgeIcon, FileBadgeIconProps, FoldHeader, FoldHeaderProps, GUTTER_STEP_PX, GroupGlyph, GroupGlyphProps, HostAgentPicker, HostAgentPickerProps, HostBadge, HostBadgeProps, HostComposer, HostComposerProps, HostContextOrb, HostContextOrbProps, HostInteractions, HostInteractionsProps, HostModelChainList, HostModelChainListProps, HostModelImages, HostModelOptionsPicker, HostModelOptionsPickerProps, HostModelPicker, HostModelPickerProps, HostPicker, HostPickerProps, HostStatusDot, HostStatusDotProps, HostTranscript, HostTranscriptProps, INLINE_CODE_CLASS, ImageGenerationBlock, ImageGenerationBlockProps, ImageModelList, ImageModelListProps, type ImageModelRow, InboxPanel, InboxPanelProps, InfoRow, InfoRowProps, InlineChipText, InlineChipTextProps, InlineCode, InlineCodeProps, InlineTextSlotProps, InteractionCard, InteractionCardProps, InteractionTool, InteractionToolBody, InteractionToolBodyProps, LazyRow, LazyRowProps, LineState, LinkBadge, LinkBadgeProps, LinkIcon, LinkIconProps, LiveOutput, type LiveOutputProps, LoadEarlierRow, LoadEarlierRowProps, LoadFullOutputButton, LoadFullOutputButtonProps, MAX_FILE_ATTACHMENT_BYTES, MAX_IMAGE_ATTACHMENT_BYTES, MAX_MATCHES, MAX_TEXT_PREVIEW_BYTES, Markdown, MarkdownContext, MarkdownContextValue, MarkdownDiagrams, MarkdownDiagramsProps, MarkdownLinkProps, MarkdownProps, MarkdownSlotProps, MentionItem, MermaidDiagram, type MermaidDiagramProps, MessageGroupRow, MessageGroupRowProps, type ModelCatalogRow, ModelCatalogState, ModelChainFooter, ModelChainFooterProps, ModelChainHeader, ModelChainHeaderProps, ModelChainImages, ModelChainList, ModelChainListProps, ModelChainPopover, ModelChainPopoverProps, ModelChainRow, ModelChainRowProps, ModelChainRows, ModelChainRowsProps, ModelChainTooltip, ModelChainTooltipProps, ModelChoice, ModelFlag, ModelFlagProps, ModelGroupHeader, ModelGroupHeaderProps, ModelKind, ModelMeta, ModelMetaProps, ModelOption, ModelOptionsPicker, ModelOptionsPickerProps, type ModelPickRef, ModelPicker, ModelPickerDialog, ModelPickerDialogProps, ModelPickerFrame, ModelPickerFrameProps, ModelPickerProps, ModelProviderChip, ModelProviderChipProps, ModelProviderPills, ModelProviderPillsProps, ModelReasoning, ModelReasoningProps, ModelVerdict, ModelVerdictProps, ModelWindow, ModelWindowProps, NO_COMPOSER_HINT, NestedToolCalls, NestedToolCallsProps, NewSessionDefaults, NewSessionModelSource, NoticeRow, NoticeRowProps, OPTION_ICON, OpenBadgeMenu, OpenSessionContext, OrbState, OrderedBadge, PASTE_FOLD_CHAR_THRESHOLD, PASTE_FOLD_LINE_THRESHOLD, ParsedRef, ParsedReferenceUrl, PdfPreview, PdfPreviewProps, PickerGroup, PickerPill, PickerPillProps, PlanBody, PlanBodyProps, PlanCard, PlanCardProps, ProjectMenu, ProjectMenuProps, PromptEcho, PromptEchoProps, PromptHistoryProvider, PromptHistoryProviderProps, PromptHistoryValue, PromptLines, PromptLinesProps, PromptSlotProps, ProseMarkdown, ProseMarkdownProps, QuestionField, QuestionFieldProps, QuestionForm, QuestionFormProps, ReadFileBlock, ReadFileBlockProps, RefChip, RefChipProps, RefMatch, ReferenceChip, ReferenceChipProps, ReferenceText, ReferenceTextProps, RetryPill, RetryPillProps, type RowActionItem, RowContext, RowFrame, RowFrameProps, RowIconsContext, RowPlace, RunEstimateChip, RunEstimateChipProps, RunEstimatesProvider, RunEstimatesProviderProps, RunReceiptInline, RunReceiptInlineProps, RunStatusChip, RunStatusChipProps, RunSummaryRow, RunSummaryRowProps, RunnableCodeBlock, type RunnableCodeBlockProps, ScopeToggle, ScopeToggleProps, ScrollPosition, SearchHighlightStyle, SecretInput, SecretInputProps, SelectCursor, SelectCursorProps, SelectTurnCommands, SelectTurnExit, SelectTurnHint, SelectTurnHintKeys, SelectTurnHintKeysProps, type SelectTurnHintProps, SelectTurnKeysOptions, SelectTurnProvider, SelectTurnProviderProps, SelectTurnState, SelectTurnValue, SendButton, SendButtonProps, SendPromptControls, SendPromptOptions, SendRoute, ServerScopeToggle, ServerScopeToggleProps, SessionActivityFilter, SessionArchiveFilter, SessionCard, SessionCardProps, SessionDotState, SessionEventRow, SessionEventRowProps, SessionFilterAction, SessionFilterAxis, SessionFilterExtra, SessionFilterMenu, SessionFilterMenuProps, SessionFilterPlacement, SessionGroupHeader, SessionGroupHeaderProps, SessionHostHeader, SessionHostHeaderProps, SessionList, SessionListProps, SessionListRow, SessionListRowProps, SessionMeters, SessionMetersTarget, SessionProjectAxis, SessionStreamsProvider, SessionStreamsProviderProps, SessionTitleSlotProps, SessionView, ShellBlockProvider, type ShellBlockProviderProps, type ShellBlockScope, ShowMoreRow, ShowMoreRowProps, SkillCard, SkillCardProps, SlotEntry, SpawnEndRow, SpawnEndRowProps, SpawnStartRow, SpawnStartRowProps, StatusDot, StatusDotProps, StickToBottomOptions, SubagentBlock, SubagentBlockProps, SuggestionKind, SuggestionPopup, SuggestionPopupProps, SuggestionSource, SuggestionState, THINKING_LEVELS, TRANSCRIPT_OPTION_KEYS, TRIGGER, TextPreview, TextPreviewProps, TextPreviewSlotProps, TextRow, TextRowProps, ThinkingBatchRow, ThinkingBatchRowProps, ThinkingLevel, ThinkingRow, ThinkingRowProps, Throbber, ThrobberProps, ThrobberVariant, ToolBatchRow, ToolBatchRowProps, ToolBodySlotProps, ToolDetails, ToolDetailsProps, ToolGlyph, ToolGlyphProps, ToolInput, ToolInputProps, ToolMedia, type ToolMediaItem, ToolMediaProps, ToolRow, ToolRowProps, ToolTiming, ToolTimingProps, Transcript, TranscriptAccounts, TranscriptActions, TranscriptActionsProvider, TranscriptActionsProviderProps, TranscriptFind, TranscriptFindKeyOptions, TranscriptFindOptions, TranscriptFindTarget, TranscriptOptions, TranscriptProps, TranscriptRenderers, TranscriptRenderersProvider, type TranscriptRenderersProviderProps, TranscriptRow, TranscriptRowProps, TranscriptRowSlot, TranscriptRowSlotProps, TranscriptRows, TranscriptRowsInput, TranscriptScrollInputs, TranscriptSearch, TranscriptSearchOptions, TranscriptSearchProps, TranscriptSearchState, TranscriptSelection, TranscriptSettling, TranscriptTurnMenu, TurnCommands, TurnCommandsOptions, TurnMenuActions, TurnMenuTarget, UserBashRow, UserBashRowProps, UserPromptAttachments, UserPromptAttachmentsProps, UserPromptRow, UserPromptRowProps, WORK_HOLD_MS, WORK_SHOW_MS, WorkerDetails, WorkerDetailsProps, __resetComposerScopesForTests, attachmentErrorText, attachmentLightboxItems, canJoinChain, catalogFromProviders, claimComposerFocus, classifyInlineRef, colorForCategory, compactWindow, contextGauge, copyPromptLines, createTurnCommands, decodeDataUrlAsText, defaultAttachmentLabel, defaultAttachmentTileLabel, detectLanguage, dotStateFor, drawsImageGeneration, effectiveImageModel, fileBadgeName, fileBadgeSpec, findModel, findRefs, focusComposer, formatBytes, groupKeyOf, hasComposerFor, hasFocusedComposer, hasInteractionBody, holdForceMountRows, imageCatalogRows, imageModelKey, imageRequestsOf, isCaretAtEnd, isCaretAtStart, isFocusedComposer, isHiddenRow, isPdfAttachment, isRequired, isTextLike, lineStateOf, lineupKeyOf, linkGlyph, mergeBadgeOrder, modelKey, modelLineup, modelNameOf, modelSearchScore, mountRowNow, nextProfileId, numberRef, offCatalogRows, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, orbState, orderComposerBadges, parseRefUrl, parseReferenceUrl, parseToolMedia, pastedTextFilename, pickRefOf, pickerGroups, plainTextToDocJson, providerAccountLabel, providerColor, providerHue, providerTint, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, readAttachment, refHref, refKey, referenceUrl, registerComposerScope, remarkReferences, remarkRefs, resolveChain, resolvePick, resourceErrorText, rowKey, savedPaths, seedDefaults, shouldFoldPasteToAttachment, siteIconValue, suggestionExtension, textAttachment, unresolveChain, useAgentProfiles, useAllInteractions, useAttachmentIngest, useAttachmentNotices, useAttachmentRemoval, useAttachmentText, useBackgroundMount, useBadgeMenu, useCacheHints, useCaptureRunState, useChatHost, useChatLabels, useChipResolution, useCommand, useCommitInfo, useComposerFor, useComposerHost, useComposerLabels, useComposerModelName, useComposerProviderLabel, useComposerSearch, useCycleAgent, useDraftKnobs, useDraftTarget, useFillViewportScrollback, useForceMountRows, useFullOutput, useHasFocusedComposer, useHasSessionEvents, useHostResource, useHostSessions, useInteractionHead, useIsSessionHydrated, useJoinedRunProgress, useModelCatalog, useModelKnobs, useModelName, useModelPickerPrefs, useModelPickerPrefsStore, useNewSessionDefaults, useOptionalChatHost, usePeekRunSeq, usePeekSessionEvents, usePeekSessionRunning, usePendingInteractions, usePromptHistory, useProviderReadyPoll, useReferenceMatches, useReferenceProviders, useReferenceView, useReferencedSession, useRememberedKnobs, useResolveChipNow, useRowIcons, useRunAccruedCost, useRunElapsedSec, useRunEstimate, useRunMeterValue, useRunOutputTokens, useRunProgress, useRunStartedAt, useSelectStops, useSelectTurn, useSelectTurnKeys, useSendPrompt, useSessionContextStatus, useSessionEdits, useSessionEvents, useSessionEventsSelector, useSessionFallbackModel, useSessionMeters, useSessionPage, useSessionRetry, useSessionRunning, useSessionStreamActions, useSessionStreams, useSessionSystemMd, useSettledReveal, useShellBlockScope, useSiteIcon, useSkill, useStickToBottom, useSustainedWork, useToolMedia, useTranscriptActions, useTranscriptFind, useTranscriptFindKey, useTranscriptOptions, useTranscriptRenderers, useTranscriptRows, useTranscriptScroll, useTranscriptSearch, useTranscriptSelectionCopy, useTurnCommands, useTurnMenu, useWheelHoverPause, withPrimary, workShowDelay };
@@ -45,6 +45,7 @@ import { ImageGenerationBlock, drawsImageGeneration, imageRequestsOf, savedPaths
45
45
  import { ModelVerdict, NestedToolCalls, ToolRow } from "./transcript/tool-row.js";
46
46
  import { ExchangeFoldRow, FoldHeader } from "./transcript/fold.js";
47
47
  import { MessageGroupRow } from "./transcript/messages.js";
48
+ import { AuthFailureCard } from "./transcript/AuthFailureCard.js";
48
49
  import { COMMAND_DETAIL_LINE, CommandDetailRow, CommandNoteRow, ErrorRow, FailureRow, InfoRow, NoticeRow, SessionEventRow, SpawnEndRow, SpawnStartRow } from "./transcript/notices.js";
49
50
  import { AttachmentRefusedError, MAX_FILE_ATTACHMENT_BYTES, MAX_IMAGE_ATTACHMENT_BYTES, PASTE_FOLD_CHAR_THRESHOLD, PASTE_FOLD_LINE_THRESHOLD, attachmentErrorText, decodeDataUrlAsText, detectLanguage, formatBytes, isPdfAttachment, isTextLike, pastedTextFilename, readAttachment, shouldFoldPasteToAttachment } from "./composer/attachment-ingest.js";
50
51
  import { MAX_TEXT_PREVIEW_BYTES, TextPreview, useAttachmentText } from "./TextPreview.js";
@@ -129,6 +130,7 @@ import { useSessionContextStatus, useSessionMeters } from "./composer/use-sessio
129
130
  import { useNewSessionDefaults } from "./composer/use-new-session-defaults.js";
130
131
  import { useProviderReadyPoll } from "./composer/use-provider-ready-poll.js";
131
132
  import { PlanBody, PlanCard } from "./interactions/PlanCard.js";
133
+ import { SecretInput } from "./interactions/SecretInput.js";
132
134
  import { QuestionField, isRequired } from "./interactions/QuestionField.js";
133
135
  import { AnsweredQuestions, QuestionForm, seedDefaults } from "./interactions/QuestionForm.js";
134
136
  import { InteractionCard } from "./interactions/InteractionCard.js";
@@ -151,4 +153,4 @@ import { useTranscriptFindKey } from "./transcript/useTranscriptFindKey.js";
151
153
  import { useTranscriptFind } from "./transcript/useTranscriptFind.js";
152
154
  import { useTurnMenu } from "./transcript/TurnMenu.js";
153
155
  import { createTurnCommands, useTurnCommands } from "./transcript/turn-commands.js";
154
- export { ATTACHMENT_NOTICE_MS, AUTO_FILL_PAGES, AgentPicker, AgentPickerDialog, AnsiSpans, AnsiText, AnsweredQuestions, ApprovalDock, ArchivedBanner, AttachmentIcon, AttachmentNotices, AttachmentRefusedError, AttachmentRow, AttachmentTiles, BADGE_GLYPH, BadgeMenuProvider, CHIP_CARD_WIDTH, CODE_PANEL, COMMAND_DETAIL_LINE, CardMarkdown, Caret, ChatProvider, ChipCard, ChipHover, CodemodeScript, CommandCard, CommandDetailRow, CommandNoteRow, CommandScopeContext, CommitCard, CompactSummaryRow, Composer, ComposerBadges, ComposerControls, ComposerDock, ComposerHostProvider, ComposerStatusPills, ContextBreakdown, ContextOrb, ConversationBadges, CvRow, DEFAULT_BADGE_ORDER, DEFAULT_TRANSCRIPT_OPTIONS, DEFAULT_TRANSCRIPT_RENDERERS, DaemonOrb, DaemonOrbButton, DefaultInlineText, DefaultMarkdown, DefaultPrompt, DefaultSessionTitle, DiffLines, DockCard, DockRow, Dot, EFFORT_LEVELS, EditDiffBlock, EffortPickerDialog, ErrorRow, ExchangeFoldRow, FILL_MIN_PROMPTS, FailedMark, FailureRow, FileBadgeIcon, FoldHeader, GUTTER_STEP_PX, GroupGlyph, HostAgentPicker, HostBadge, HostComposer, HostContextOrb, HostInteractions, HostModelChainList, HostModelOptionsPicker, HostModelPicker, HostPicker, HostStatusDot, HostTranscript, INLINE_CODE_CLASS, ImageGenerationBlock, ImageModelList, InboxPanel, InfoRow, InlineChipText, InlineCode, InteractionCard, InteractionToolBody, LazyRow, LinkBadge, LinkIcon, LiveOutput, LoadEarlierRow, LoadFullOutputButton, MAX_FILE_ATTACHMENT_BYTES, MAX_IMAGE_ATTACHMENT_BYTES, MAX_MATCHES, MAX_TEXT_PREVIEW_BYTES, Markdown, MarkdownContext, MarkdownDiagrams, MermaidDiagram, MessageGroupRow, ModelChainFooter, ModelChainHeader, ModelChainList, ModelChainPopover, ModelChainRow, ModelChainRows, ModelChainTooltip, ModelFlag, ModelGroupHeader, ModelMeta, ModelOptionsPicker, ModelPicker, ModelPickerDialog, ModelPickerFrame, ModelProviderChip, ModelProviderPills, ModelReasoning, ModelVerdict, ModelWindow, NO_COMPOSER_HINT, NestedToolCalls, NoticeRow, OPTION_ICON, OpenSessionContext, PASTE_FOLD_CHAR_THRESHOLD, PASTE_FOLD_LINE_THRESHOLD, PdfPreview, PickerPill, PlanBody, PlanCard, ProjectMenu, PromptEcho, PromptHistoryProvider, PromptLines, ProseMarkdown, QuestionField, QuestionForm, ReadFileBlock, RefChip, ReferenceChip, ReferenceText, RetryPill, RowFrame, RowIconsContext, RunEstimateChip, RunEstimatesProvider, RunReceiptInline, RunStatusChip, RunSummaryRow, RunnableCodeBlock, ScopeToggle, SearchHighlightStyle, SelectCursor, SelectTurnExit, SelectTurnHint, SelectTurnHintKeys, SelectTurnProvider, SendButton, ServerScopeToggle, SessionCard, SessionEventRow, SessionFilterMenu, SessionGroupHeader, SessionHostHeader, SessionList, SessionListRow, SessionStreamsProvider, ShellBlockProvider, ShowMoreRow, SkillCard, SpawnEndRow, SpawnStartRow, StatusDot, SubagentBlock, SuggestionPopup, THINKING_LEVELS, TRANSCRIPT_OPTION_KEYS, TRIGGER, TextPreview, TextRow, ThinkingBatchRow, ThinkingRow, Throbber, ToolBatchRow, ToolDetails, ToolGlyph, ToolInput, ToolMedia, ToolRow, ToolTiming, Transcript, TranscriptActionsProvider, TranscriptRenderersProvider, TranscriptRow, TranscriptRowSlot, TranscriptSearch, TranscriptSettling, UserBashRow, UserPromptAttachments, UserPromptRow, WORK_HOLD_MS, WORK_SHOW_MS, WorkerDetails, __resetComposerScopesForTests, attachmentErrorText, attachmentLightboxItems, canJoinChain, catalogFromProviders, claimComposerFocus, classifyInlineRef, colorForCategory, compactWindow, contextGauge, copyPromptLines, createTurnCommands, decodeDataUrlAsText, defaultAttachmentLabel, defaultAttachmentTileLabel, detectLanguage, dotStateFor, drawsImageGeneration, effectiveImageModel, fileBadgeName, fileBadgeSpec, findModel, findRefs, focusComposer, formatBytes, groupKeyOf, hasComposerFor, hasFocusedComposer, hasInteractionBody, holdForceMountRows, imageCatalogRows, imageModelKey, imageRequestsOf, isCaretAtEnd, isCaretAtStart, isFocusedComposer, isHiddenRow, isPdfAttachment, isRequired, isTextLike, lineStateOf, lineupKeyOf, linkGlyph, mergeBadgeOrder, modelKey, modelLineup, modelNameOf, modelSearchScore, mountRowNow, nextProfileId, numberRef, offCatalogRows, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, orbState, orderComposerBadges, parseRefUrl, parseReferenceUrl, parseToolMedia, pastedTextFilename, pickRefOf, pickerGroups, plainTextToDocJson, providerAccountLabel, providerColor, providerHue, providerTint, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, readAttachment, refHref, refKey, referenceUrl, registerComposerScope, remarkReferences, remarkRefs, resolveChain, resolvePick, resourceErrorText, rowKey, savedPaths, seedDefaults, shouldFoldPasteToAttachment, siteIconValue, suggestionExtension, textAttachment, unresolveChain, useAgentProfiles, useAllInteractions, useAttachmentIngest, useAttachmentNotices, useAttachmentRemoval, useAttachmentText, useBackgroundMount, useBadgeMenu, useCacheHints, useCaptureRunState, useChatHost, useChatLabels, useChipResolution, useCommand, useCommitInfo, useComposerFor, useComposerHost, useComposerLabels, useComposerModelName, useComposerProviderLabel, useComposerSearch, useCycleAgent, useDraftKnobs, useDraftTarget, useFillViewportScrollback, useForceMountRows, useFullOutput, useHasFocusedComposer, useHasSessionEvents, useHostResource, useHostSessions, useInteractionHead, useIsSessionHydrated, useJoinedRunProgress, useModelCatalog, useModelKnobs, useModelName, useModelPickerPrefs, useModelPickerPrefsStore, useNewSessionDefaults, useOptionalChatHost, usePeekRunSeq, usePeekSessionEvents, usePeekSessionRunning, usePendingInteractions, usePromptHistory, useProviderReadyPoll, useReferenceMatches, useReferenceProviders, useReferenceView, useReferencedSession, useRememberedKnobs, useResolveChipNow, useRowIcons, useRunAccruedCost, useRunElapsedSec, useRunEstimate, useRunMeterValue, useRunOutputTokens, useRunProgress, useRunStartedAt, useSelectStops, useSelectTurn, useSelectTurnKeys, useSendPrompt, useSessionContextStatus, useSessionEdits, useSessionEvents, useSessionEventsSelector, useSessionFallbackModel, useSessionMeters, useSessionPage, useSessionRetry, useSessionRunning, useSessionStreamActions, useSessionStreams, useSessionSystemMd, useSettledReveal, useShellBlockScope, useSiteIcon, useSkill, useStickToBottom, useSustainedWork, useToolMedia, useTranscriptActions, useTranscriptFind, useTranscriptFindKey, useTranscriptOptions, useTranscriptRenderers, useTranscriptRows, useTranscriptScroll, useTranscriptSearch, useTranscriptSelectionCopy, useTurnCommands, useTurnMenu, useWheelHoverPause, withPrimary, workShowDelay };
156
+ export { ATTACHMENT_NOTICE_MS, AUTO_FILL_PAGES, AgentPicker, AgentPickerDialog, AnsiSpans, AnsiText, AnsweredQuestions, ApprovalDock, ArchivedBanner, AttachmentIcon, AttachmentNotices, AttachmentRefusedError, AttachmentRow, AttachmentTiles, AuthFailureCard, BADGE_GLYPH, BadgeMenuProvider, CHIP_CARD_WIDTH, CODE_PANEL, COMMAND_DETAIL_LINE, CardMarkdown, Caret, ChatProvider, ChipCard, ChipHover, CodemodeScript, CommandCard, CommandDetailRow, CommandNoteRow, CommandScopeContext, CommitCard, CompactSummaryRow, Composer, ComposerBadges, ComposerControls, ComposerDock, ComposerHostProvider, ComposerStatusPills, ContextBreakdown, ContextOrb, ConversationBadges, CvRow, DEFAULT_BADGE_ORDER, DEFAULT_TRANSCRIPT_OPTIONS, DEFAULT_TRANSCRIPT_RENDERERS, DaemonOrb, DaemonOrbButton, DefaultInlineText, DefaultMarkdown, DefaultPrompt, DefaultSessionTitle, DiffLines, DockCard, DockRow, Dot, EFFORT_LEVELS, EditDiffBlock, EffortPickerDialog, ErrorRow, ExchangeFoldRow, FILL_MIN_PROMPTS, FailedMark, FailureRow, FileBadgeIcon, FoldHeader, GUTTER_STEP_PX, GroupGlyph, HostAgentPicker, HostBadge, HostComposer, HostContextOrb, HostInteractions, HostModelChainList, HostModelOptionsPicker, HostModelPicker, HostPicker, HostStatusDot, HostTranscript, INLINE_CODE_CLASS, ImageGenerationBlock, ImageModelList, InboxPanel, InfoRow, InlineChipText, InlineCode, InteractionCard, InteractionToolBody, LazyRow, LinkBadge, LinkIcon, LiveOutput, LoadEarlierRow, LoadFullOutputButton, MAX_FILE_ATTACHMENT_BYTES, MAX_IMAGE_ATTACHMENT_BYTES, MAX_MATCHES, MAX_TEXT_PREVIEW_BYTES, Markdown, MarkdownContext, MarkdownDiagrams, MermaidDiagram, MessageGroupRow, ModelChainFooter, ModelChainHeader, ModelChainList, ModelChainPopover, ModelChainRow, ModelChainRows, ModelChainTooltip, ModelFlag, ModelGroupHeader, ModelMeta, ModelOptionsPicker, ModelPicker, ModelPickerDialog, ModelPickerFrame, ModelProviderChip, ModelProviderPills, ModelReasoning, ModelVerdict, ModelWindow, NO_COMPOSER_HINT, NestedToolCalls, NoticeRow, OPTION_ICON, OpenSessionContext, PASTE_FOLD_CHAR_THRESHOLD, PASTE_FOLD_LINE_THRESHOLD, PdfPreview, PickerPill, PlanBody, PlanCard, ProjectMenu, PromptEcho, PromptHistoryProvider, PromptLines, ProseMarkdown, QuestionField, QuestionForm, ReadFileBlock, RefChip, ReferenceChip, ReferenceText, RetryPill, RowFrame, RowIconsContext, RunEstimateChip, RunEstimatesProvider, RunReceiptInline, RunStatusChip, RunSummaryRow, RunnableCodeBlock, ScopeToggle, SearchHighlightStyle, SecretInput, SelectCursor, SelectTurnExit, SelectTurnHint, SelectTurnHintKeys, SelectTurnProvider, SendButton, ServerScopeToggle, SessionCard, SessionEventRow, SessionFilterMenu, SessionGroupHeader, SessionHostHeader, SessionList, SessionListRow, SessionStreamsProvider, ShellBlockProvider, ShowMoreRow, SkillCard, SpawnEndRow, SpawnStartRow, StatusDot, SubagentBlock, SuggestionPopup, THINKING_LEVELS, TRANSCRIPT_OPTION_KEYS, TRIGGER, TextPreview, TextRow, ThinkingBatchRow, ThinkingRow, Throbber, ToolBatchRow, ToolDetails, ToolGlyph, ToolInput, ToolMedia, ToolRow, ToolTiming, Transcript, TranscriptActionsProvider, TranscriptRenderersProvider, TranscriptRow, TranscriptRowSlot, TranscriptSearch, TranscriptSettling, UserBashRow, UserPromptAttachments, UserPromptRow, WORK_HOLD_MS, WORK_SHOW_MS, WorkerDetails, __resetComposerScopesForTests, attachmentErrorText, attachmentLightboxItems, canJoinChain, catalogFromProviders, claimComposerFocus, classifyInlineRef, colorForCategory, compactWindow, contextGauge, copyPromptLines, createTurnCommands, decodeDataUrlAsText, defaultAttachmentLabel, defaultAttachmentTileLabel, detectLanguage, dotStateFor, drawsImageGeneration, effectiveImageModel, fileBadgeName, fileBadgeSpec, findModel, findRefs, focusComposer, formatBytes, groupKeyOf, hasComposerFor, hasFocusedComposer, hasInteractionBody, holdForceMountRows, imageCatalogRows, imageModelKey, imageRequestsOf, isCaretAtEnd, isCaretAtStart, isFocusedComposer, isHiddenRow, isPdfAttachment, isRequired, isTextLike, lineStateOf, lineupKeyOf, linkGlyph, mergeBadgeOrder, modelKey, modelLineup, modelNameOf, modelSearchScore, mountRowNow, nextProfileId, numberRef, offCatalogRows, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, orbState, orderComposerBadges, parseRefUrl, parseReferenceUrl, parseToolMedia, pastedTextFilename, pickRefOf, pickerGroups, plainTextToDocJson, providerAccountLabel, providerColor, providerHue, providerTint, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, readAttachment, refHref, refKey, referenceUrl, registerComposerScope, remarkReferences, remarkRefs, resolveChain, resolvePick, resourceErrorText, rowKey, savedPaths, seedDefaults, shouldFoldPasteToAttachment, siteIconValue, suggestionExtension, textAttachment, unresolveChain, useAgentProfiles, useAllInteractions, useAttachmentIngest, useAttachmentNotices, useAttachmentRemoval, useAttachmentText, useBackgroundMount, useBadgeMenu, useCacheHints, useCaptureRunState, useChatHost, useChatLabels, useChipResolution, useCommand, useCommitInfo, useComposerFor, useComposerHost, useComposerLabels, useComposerModelName, useComposerProviderLabel, useComposerSearch, useCycleAgent, useDraftKnobs, useDraftTarget, useFillViewportScrollback, useForceMountRows, useFullOutput, useHasFocusedComposer, useHasSessionEvents, useHostResource, useHostSessions, useInteractionHead, useIsSessionHydrated, useJoinedRunProgress, useModelCatalog, useModelKnobs, useModelName, useModelPickerPrefs, useModelPickerPrefsStore, useNewSessionDefaults, useOptionalChatHost, usePeekRunSeq, usePeekSessionEvents, usePeekSessionRunning, usePendingInteractions, usePromptHistory, useProviderReadyPoll, useReferenceMatches, useReferenceProviders, useReferenceView, useReferencedSession, useRememberedKnobs, useResolveChipNow, useRowIcons, useRunAccruedCost, useRunElapsedSec, useRunEstimate, useRunMeterValue, useRunOutputTokens, useRunProgress, useRunStartedAt, useSelectStops, useSelectTurn, useSelectTurnKeys, useSendPrompt, useSessionContextStatus, useSessionEdits, useSessionEvents, useSessionEventsSelector, useSessionFallbackModel, useSessionMeters, useSessionPage, useSessionRetry, useSessionRunning, useSessionStreamActions, useSessionStreams, useSessionSystemMd, useSettledReveal, useShellBlockScope, useSiteIcon, useSkill, useStickToBottom, useSustainedWork, useToolMedia, useTranscriptActions, useTranscriptFind, useTranscriptFindKey, useTranscriptOptions, useTranscriptRenderers, useTranscriptRows, useTranscriptScroll, useTranscriptSearch, useTranscriptSelectionCopy, useTurnCommands, useTurnMenu, useWheelHoverPause, withPrimary, workShowDelay };
@@ -1,5 +1,5 @@
1
1
  import { MarkdownSlotProps } from "../transcript/renderers.js";
2
- import { CSSProperties, ComponentType } from "react";
2
+ import { CSSProperties, ComponentType, ReactNode } from "react";
3
3
  //#region src/chat/interactions/InboxPanel.d.ts
4
4
  /** Props for {@link InboxPanel}. */
5
5
  interface InboxPanelProps {
@@ -13,6 +13,10 @@ interface InboxPanelProps {
13
13
  onEscape?(): void;
14
14
  /** Draws an intro or a plan. Defaults to the transcript's `Markdown` slot. */
15
15
  Markdown?: ComponentType<MarkdownSlotProps>;
16
+ /** The "In progress" section's body: the plan being applied. Absent or null: no section. */
17
+ inProgress?: ReactNode;
18
+ /** The "Recent" section's body: closed plans. Absent or null: no section. */
19
+ recent?: ReactNode;
16
20
  /** Extra class names for the root. */
17
21
  className?: string;
18
22
  /** Inline styles on the root element. */
@@ -23,6 +27,6 @@ interface InboxPanelProps {
23
27
  *
24
28
  * @param props - The {@link InboxPanelProps}.
25
29
  */
26
- declare function InboxPanel({ sessionId, focus, onFocusTaken, onEscape, Markdown, className, style }: InboxPanelProps): import("react").JSX.Element;
30
+ declare function InboxPanel({ sessionId, focus, onFocusTaken, onEscape, Markdown, inProgress, recent, className, style }: InboxPanelProps): import("react").JSX.Element;
27
31
  //#endregion
28
32
  export { InboxPanel, InboxPanelProps };
@@ -18,6 +18,12 @@ import { useEffect, useState } from "react";
18
18
  * card alone keeps the agent waiting. Esc hands the keyboard back
19
19
  * (`onEscape`).
20
20
  *
21
+ * Under what waits on the user, the session's plans: `inProgress` (the plan
22
+ * being applied, or the stopped one that can resume) and `recent` (closed
23
+ * plans). The app passes them (`zidane-ui/session`'s `PlanTracker` and
24
+ * `RecentPlans`); the sections show only when given. Only "Needs you" asks
25
+ * for attention: the tab's badge counts requests, never steps.
26
+ *
21
27
  * <InboxPanel sessionId={id} focus={focusRequest === INBOX_PANEL_ID} onFocusTaken={takeFocusRequest} />
22
28
  */
23
29
  /** What a dismissed question tells the agent. */
@@ -27,7 +33,7 @@ const DISMISSED = "dismissed by user";
27
33
  *
28
34
  * @param props - The {@link InboxPanelProps}.
29
35
  */
30
- function InboxPanel({ sessionId, focus = false, onFocusTaken, onEscape, Markdown, className, style }) {
36
+ function InboxPanel({ sessionId, focus = false, onFocusTaken, onEscape, Markdown, inProgress, recent, className, style }) {
31
37
  const interactions = useChatHost().interactions;
32
38
  const labels = useChatLabels();
33
39
  const pending = usePendingInteractions(sessionId);
@@ -66,57 +72,89 @@ function InboxPanel({ sessionId, focus = false, onFocusTaken, onEscape, Markdown
66
72
  head,
67
73
  onFocusTaken
68
74
  ]);
69
- if (rows.length === 0) return /* @__PURE__ */ jsx(PanelEmpty, {
75
+ const hasPlans = Boolean(inProgress) || Boolean(recent);
76
+ if (rows.length === 0 && !hasPlans) return /* @__PURE__ */ jsx(PanelEmpty, {
70
77
  icon: "i-ph-tray",
71
78
  title: labels.inboxEmpty,
72
79
  className,
73
80
  style
74
81
  });
75
- return /* @__PURE__ */ jsx("div", {
76
- className: `flex-1 min-h-0 overflow-y-auto${className ? ` ${className}` : ""}`,
82
+ return /* @__PURE__ */ jsxs("div", {
83
+ className: `flex-1 min-h-0 overflow-y-auto p-3 flex flex-col gap-4${className ? ` ${className}` : ""}`,
77
84
  style,
78
- children: /* @__PURE__ */ jsx("ul", {
79
- className: "m-0 p-3 list-none flex flex-col gap-2",
80
- "aria-label": labels.interactionsLabel,
81
- onKeyDown: (e) => {
82
- if (e.key === "Escape" && onEscape) {
83
- e.preventDefault();
84
- e.stopPropagation();
85
- onEscape();
86
- }
87
- },
88
- children: rows.map((row) => {
89
- const isHead = row === head;
90
- const open = isHead || expanded === row.item.requestId;
91
- const request = row.item.request;
92
- return /* @__PURE__ */ jsxs("li", {
93
- "data-state": row.leaving ? "leaving" : "open",
94
- "data-testid": "inbox-card",
95
- className: "zg-inbox-card zg-raised border rounded-zg-lg overflow-hidden",
96
- children: [/* @__PURE__ */ jsx(CardHeader, {
97
- request,
98
- live: row.item.live !== false,
99
- open,
100
- collapsible: !isHead,
101
- onToggle: () => setExpanded((e) => e === row.item.requestId ? null : row.item.requestId)
102
- }), open && !row.leaving && interactions && /* @__PURE__ */ jsx("div", {
103
- className: "px-3 pb-3",
104
- children: request.kind === "plan" ? /* @__PURE__ */ jsx(PlanCard, {
105
- request,
106
- autoFocus: isHead && focus,
107
- Markdown,
108
- onAnswer: (response) => interactions.answer(request.id, response)
109
- }) : /* @__PURE__ */ jsx(QuestionForm, {
85
+ children: [
86
+ hasPlans && /* @__PURE__ */ jsx(InboxSection, {
87
+ title: labels.inboxNeedsYou,
88
+ children: rows.length === 0 && /* @__PURE__ */ jsx("p", {
89
+ className: "m-0 px-1 zg-meta",
90
+ children: labels.inboxEmpty
91
+ })
92
+ }),
93
+ /* @__PURE__ */ jsx("ul", {
94
+ className: `m-0 p-0 list-none flex flex-col gap-2${rows.length === 0 ? " hidden" : ""}`,
95
+ "aria-label": labels.interactionsLabel,
96
+ onKeyDown: (e) => {
97
+ if (e.key === "Escape" && onEscape) {
98
+ e.preventDefault();
99
+ e.stopPropagation();
100
+ onEscape();
101
+ }
102
+ },
103
+ children: rows.map((row) => {
104
+ const isHead = row === head;
105
+ const open = isHead || expanded === row.item.requestId;
106
+ const request = row.item.request;
107
+ return /* @__PURE__ */ jsxs("li", {
108
+ "data-state": row.leaving ? "leaving" : "open",
109
+ "data-testid": "inbox-card",
110
+ className: "zg-inbox-card zg-raised border rounded-zg-lg overflow-hidden",
111
+ children: [/* @__PURE__ */ jsx(CardHeader, {
110
112
  request,
111
- autoFocus: isHead && focus,
112
- Markdown,
113
- onAnswer: (response) => interactions.answer(request.id, response),
114
- ...interactions.cancel ? { onDismiss: () => interactions.cancel(request.id, DISMISSED) } : {}
115
- })
116
- })]
117
- }, row.item.requestId);
113
+ live: row.item.live !== false,
114
+ open,
115
+ collapsible: !isHead,
116
+ onToggle: () => setExpanded((e) => e === row.item.requestId ? null : row.item.requestId)
117
+ }), open && !row.leaving && interactions && /* @__PURE__ */ jsx("div", {
118
+ className: "px-3 pb-3",
119
+ children: request.kind === "plan" ? /* @__PURE__ */ jsx(PlanCard, {
120
+ request,
121
+ autoFocus: isHead && focus,
122
+ Markdown,
123
+ onAnswer: (response) => interactions.answer(request.id, response)
124
+ }) : /* @__PURE__ */ jsx(QuestionForm, {
125
+ request,
126
+ autoFocus: isHead && focus,
127
+ Markdown,
128
+ onAnswer: (response) => interactions.answer(request.id, response),
129
+ ...interactions.cancel ? { onDismiss: () => interactions.cancel(request.id, DISMISSED) } : {}
130
+ })
131
+ })]
132
+ }, row.item.requestId);
133
+ })
134
+ }),
135
+ inProgress && /* @__PURE__ */ jsx(InboxSection, {
136
+ title: labels.inboxInProgress,
137
+ children: /* @__PURE__ */ jsx("div", {
138
+ className: "zg-raised border rounded-zg-lg px-1",
139
+ children: inProgress
140
+ })
141
+ }),
142
+ recent && /* @__PURE__ */ jsx(InboxSection, {
143
+ title: labels.inboxRecent,
144
+ children: recent
118
145
  })
119
- })
146
+ ]
147
+ });
148
+ }
149
+ /** A titled part of the Inbox. */
150
+ function InboxSection({ title, children }) {
151
+ return /* @__PURE__ */ jsxs("section", {
152
+ className: "flex flex-col gap-2",
153
+ "aria-label": title,
154
+ children: [/* @__PURE__ */ jsx("h3", {
155
+ className: "zg-section-label m-0 px-1",
156
+ children: title
157
+ }), children]
120
158
  });
121
159
  }
122
160
  function CardHeader({ request, live, open, collapsible, onToggle }) {
@@ -1,6 +1,6 @@
1
1
  import { MarkdownSlotProps } from "../transcript/renderers.js";
2
2
  import { CSSProperties, ComponentType } from "react";
3
- import { PlanPayload, PlanRequest, PlanResponse } from "zidane/chat";
3
+ import { PlanProposal, PlanRequest, PlanResponse } from "zidane/chat";
4
4
  //#region src/chat/interactions/PlanCard.d.ts
5
5
  /** Props for {@link PlanCard}. */
6
6
  interface PlanCardProps {
@@ -26,7 +26,7 @@ declare function PlanCard({ request, autoFocus, onAnswer, Markdown, className, s
26
26
  /** Props for {@link PlanBody}. */
27
27
  interface PlanBodyProps {
28
28
  /** The plan to show: its markdown and optional numbered steps. */
29
- payload: PlanPayload;
29
+ payload: PlanProposal;
30
30
  /** Draws the plan. Defaults to the transcript's `Markdown` slot. */
31
31
  Markdown?: ComponentType<MarkdownSlotProps>;
32
32
  }
@@ -5,7 +5,7 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
  import { useRef, useState } from "react";
6
6
  //#region src/chat/interactions/PlanCard.tsx
7
7
  /**
8
- * `present_plan` as a card (the desktop app's inbox, `InteractionCard`). Renders the canonical `PlanPayload` and
8
+ * `present_plan` as a card (the desktop app's inbox, `InteractionCard`). Renders the canonical `PlanProposal` and
9
9
  * lets the user approve / revise / reject; the structured `PlanResponse`
10
10
  * goes to the host, which serialises it for the model and, on `reject`,
11
11
  * aborts the run once the rejection is recorded (the TUI's contract).
@@ -3,9 +3,10 @@ import { CSSProperties } from "react";
3
3
  import { AnswerValue, Question } from "zidane/chat";
4
4
  //#region src/chat/interactions/QuestionField.d.ts
5
5
  /**
6
- * Same defaults as the TUI: select/confirm required, free text optional.
6
+ * Same defaults as the TUI: select/confirm required, free text optional. A secret needs its value (Decline is the
7
+ * way out).
7
8
  *
8
- * @param q - The question. `required` wins; otherwise `select` and `confirm` are required and free text is optional.
9
+ * @param q - The question. `required` wins; otherwise `select`, `confirm` and `secret` are required and free text is optional.
9
10
  */
10
11
  declare function isRequired(q: Question): boolean;
11
12
  /** Props for {@link QuestionField}. */
@@ -24,6 +25,10 @@ interface QuestionFieldProps {
24
25
  labels: ChatLabels;
25
26
  /** The answered form (transcript): the same card, showing what was picked, nothing editable. */
26
27
  readOnly?: boolean;
28
+ /** Enter in a secret's password field (the form saves). */
29
+ onSubmit?: () => void;
30
+ /** Opens the Secrets panel from an answered secret. Absent: no button. */
31
+ onOpenSecrets?: () => void;
27
32
  /** Extra classes on the root element. */
28
33
  className?: string;
29
34
  /** Inline styles on the root element, merged after the component's own. */
@@ -34,6 +39,6 @@ interface QuestionFieldProps {
34
39
  *
35
40
  * @param props - Field props: `index`, `question`, `value`, `onChange`, `requestId`, `labels`, and `readOnly`.
36
41
  */
37
- declare function QuestionField({ index, question, value, onChange, requestId, labels, readOnly, className, style }: QuestionFieldProps): import("react").JSX.Element;
42
+ declare function QuestionField({ index, question, value, onChange, requestId, labels, readOnly, onSubmit, onOpenSecrets, className, style }: QuestionFieldProps): import("react").JSX.Element;
38
43
  //#endregion
39
44
  export { QuestionField, QuestionFieldProps, isRequired };
@@ -1,6 +1,9 @@
1
- import "./card-ui.js";
1
+ import { INPUT } from "./card-ui.js";
2
+ import { secretTimeLeftIso } from "../headless/secrets.js";
3
+ import { SecretInput } from "./SecretInput.js";
2
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
5
  import { useRef } from "react";
6
+ import { DEFAULT_SECRET_TTL, isSecretAnswer, isSecretReference } from "zidane/chat/pure";
4
7
  //#region src/chat/interactions/QuestionField.tsx
5
8
  /**
6
9
  * One question of an `ask_user` form as its card: the numbered prompt, its
@@ -9,25 +12,26 @@ import { useRef } from "react";
9
12
  * answer given (the transcript's answered form).
10
13
  */
11
14
  /**
12
- * Same defaults as the TUI: select/confirm required, free text optional.
15
+ * Same defaults as the TUI: select/confirm required, free text optional. A secret needs its value (Decline is the
16
+ * way out).
13
17
  *
14
- * @param q - The question. `required` wins; otherwise `select` and `confirm` are required and free text is optional.
18
+ * @param q - The question. `required` wins; otherwise `select`, `confirm` and `secret` are required and free text is optional.
15
19
  */
16
20
  function isRequired(q) {
17
- return q.required ?? (q.type === "select" || q.type === "confirm");
21
+ return q.required ?? (q.type === "select" || q.type === "confirm" || q.type === "secret");
18
22
  }
19
23
  /**
20
24
  * Renders one question of an `ask_user` form as a card: the numbered prompt, its help, and the control its type takes.
21
25
  *
22
26
  * @param props - Field props: `index`, `question`, `value`, `onChange`, `requestId`, `labels`, and `readOnly`.
23
27
  */
24
- function QuestionField({ index, question, value, onChange, requestId, labels, readOnly = false, className, style }) {
28
+ function QuestionField({ index, question, value, onChange, requestId, labels, readOnly = false, onSubmit, onOpenSecrets, className, style }) {
25
29
  const required = isRequired(question) && !readOnly;
26
30
  const inputId = `ask-${requestId}-${question.id}`;
27
31
  const promptId = `${inputId}-prompt`;
28
32
  const multi = question.type === "select" && question.multi;
29
33
  const describedBy = [question.description && `${inputId}-desc`, multi && `${inputId}-hint`].filter(Boolean).join(" ") || void 0;
30
- const labelsInput = !readOnly && (question.type === "text" || question.type === "textarea");
34
+ const labelsInput = !readOnly && (question.type === "text" || question.type === "textarea" || question.type === "secret");
31
35
  const promptClass = "text-zg-ui font-medium leading-5 text-[var(--zg-text)] zg-balance";
32
36
  const promptText = /* @__PURE__ */ jsxs(Fragment, { children: [question.prompt, required && /* @__PURE__ */ jsx("span", {
33
37
  "aria-hidden": true,
@@ -103,7 +107,7 @@ function QuestionField({ index, question, value, onChange, requestId, labels, re
103
107
  placeholder: question.placeholder,
104
108
  "aria-required": required || void 0,
105
109
  "aria-describedby": describedBy,
106
- className: `zg-well w-full text-zg-ui px-2.5 placeholder:text-[var(--zg-text-subtle)] h-8`
110
+ className: `${INPUT} h-8`
107
111
  }),
108
112
  !readOnly && question.type === "textarea" && /* @__PURE__ */ jsx("textarea", {
109
113
  id: inputId,
@@ -113,7 +117,26 @@ function QuestionField({ index, question, value, onChange, requestId, labels, re
113
117
  rows: 3,
114
118
  "aria-required": required || void 0,
115
119
  "aria-describedby": describedBy,
116
- className: `zg-well w-full text-zg-ui px-2.5 placeholder:text-[var(--zg-text-subtle)] min-h-20 py-2 resize-y`
120
+ className: `${INPUT} min-h-20 py-2 resize-y`
121
+ }),
122
+ !readOnly && question.type === "secret" && /* @__PURE__ */ jsx(SecretInput, {
123
+ id: inputId,
124
+ ttl: isSecretAnswer(value) && value.kind === "secret-value" ? value.ttl : question.ttl ?? DEFAULT_SECRET_TTL,
125
+ onChange: (typed, ttl) => onChange({
126
+ kind: "secret-value",
127
+ value: typed,
128
+ ttl
129
+ }),
130
+ describedBy,
131
+ required,
132
+ onSubmit
133
+ }),
134
+ readOnly && question.type === "secret" && /* @__PURE__ */ jsx(SecretOutcome, {
135
+ name: question.name,
136
+ value,
137
+ labels,
138
+ groupProps,
139
+ onOpenSecrets
117
140
  }),
118
141
  question.type === "select" && /* @__PURE__ */ jsx("div", {
119
142
  className: "flex flex-col gap-1.5",
@@ -179,6 +202,64 @@ function QuestionField({ index, question, value, onChange, requestId, labels, re
179
202
  });
180
203
  }
181
204
  /**
205
+ * An answered secret, never its value: saved (and when it expires), reused, declined. The answer is the host's
206
+ * `SecretReference`; a raw `SecretAnswer` (not sealed yet) shows only that it was sent.
207
+ */
208
+ function SecretOutcome({ name, value, labels, groupProps, onOpenSecrets }) {
209
+ const outcome = secretOutcome(name, value, labels);
210
+ return /* @__PURE__ */ jsxs("div", {
211
+ ...groupProps,
212
+ role: "group",
213
+ className: "flex flex-wrap items-center gap-x-2 gap-y-1 text-zg-ui leading-5",
214
+ children: [/* @__PURE__ */ jsxs("span", {
215
+ className: `flex items-center gap-1.5 ${outcome.saved ? "text-[var(--zg-text)]" : "text-[var(--zg-text-muted)]"}`,
216
+ "data-testid": "secret-outcome",
217
+ children: [/* @__PURE__ */ jsx("span", {
218
+ "aria-hidden": true,
219
+ className: `${outcome.icon} shrink-0`
220
+ }), outcome.text]
221
+ }), outcome.saved && onOpenSecrets && /* @__PURE__ */ jsx("button", {
222
+ type: "button",
223
+ onClick: onOpenSecrets,
224
+ className: "zg-focus-ring rounded-zg-xs bg-transparent border-0 p-0 cursor-pointer text-zg-ui text-[var(--zg-accent)] hover:underline",
225
+ children: labels.openSecrets
226
+ })]
227
+ });
228
+ }
229
+ function secretOutcome(name, value, labels) {
230
+ if (isSecretReference(value)) {
231
+ if ("declined" in value) return {
232
+ text: labels.secretDeclined(value.secret),
233
+ icon: "i-ph-minus-circle",
234
+ saved: false
235
+ };
236
+ if (value.reused) return {
237
+ text: labels.secretReused(value.secret),
238
+ icon: "i-ph-key",
239
+ saved: true
240
+ };
241
+ return {
242
+ text: labels.secretSaved(value.secret, secretTimeLeftIso(value.expiresAt, Date.now())),
243
+ icon: "i-ph-shield-check",
244
+ saved: true
245
+ };
246
+ }
247
+ if (isSecretAnswer(value)) return value.kind === "secret-declined" ? {
248
+ text: labels.secretDeclined(name),
249
+ icon: "i-ph-minus-circle",
250
+ saved: false
251
+ } : {
252
+ text: labels.secretSent(name),
253
+ icon: "i-ph-shield-check",
254
+ saved: false
255
+ };
256
+ return {
257
+ text: labels.noAnswer,
258
+ icon: "i-ph-minus-circle",
259
+ saved: false
260
+ };
261
+ }
262
+ /**
182
263
  * Radio-group keyboarding (WAI-ARIA APG): one tab stop, on the checked
183
264
  * radio or else the first; arrows move focus and pick (wrapping), Home / End
184
265
  * jump to the ends. Read-only, the arrows still move focus so every option
@@ -38,6 +38,8 @@ interface AnsweredQuestionsProps {
38
38
  id: string;
39
39
  /** Draws the intro; defaults to the transcript's `Markdown` slot. */
40
40
  Markdown?: ComponentType<MarkdownSlotProps>;
41
+ /** Opens the Secrets panel from an answered secret. Absent: no button. */
42
+ onOpenSecrets?: () => void;
41
43
  /** Extra classes on the root element. */
42
44
  className?: string;
43
45
  /** Inline styles on the root element, merged after the component's own. */
@@ -51,7 +53,7 @@ interface AnsweredQuestionsProps {
51
53
  *
52
54
  * @param props - Component props: the `payload` that was asked, the `answers`, optional `instructions`, a unique `id`, and an optional `Markdown` renderer.
53
55
  */
54
- declare function AnsweredQuestions({ payload, answers, instructions, id, Markdown: MarkdownProp, className, style }: AnsweredQuestionsProps): import("react").JSX.Element;
56
+ declare function AnsweredQuestions({ payload, answers, instructions, id, Markdown: MarkdownProp, onOpenSecrets, className, style }: AnsweredQuestionsProps): import("react").JSX.Element;
55
57
  /**
56
58
  * Seed the form from the payload: `default` for free text, `selected`
57
59
  * pre-ticks for multi-select (an opt-out list arrives already ticked).