zidane-ui 9.1.3 → 9.1.5

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 (238) 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/ComposerEditor.js +1 -1
  15. package/dist/chat/composer/ConversationBadges.js +16 -10
  16. package/dist/chat/composer/composer-bus.d.ts +2 -2
  17. package/dist/chat/composer/composer-bus.js +2 -2
  18. package/dist/chat/composer/use-composer-stores.js +1 -1
  19. package/dist/chat/composer/use-run-meter.js +1 -1
  20. package/dist/chat/headless/composer/conversation-badges.d.ts +8 -3
  21. package/dist/chat/headless/composer/conversation-badges.js +26 -11
  22. package/dist/chat/headless/composer/index.js +2 -2
  23. package/dist/chat/headless/composer/labels-chrome.d.ts +3 -1
  24. package/dist/chat/headless/composer/labels-chrome.js +3 -1
  25. package/dist/chat/headless/index.d.ts +5 -3
  26. package/dist/chat/headless/index.js +17 -15
  27. package/dist/chat/headless/labels.d.ts +54 -1
  28. package/dist/chat/headless/labels.js +62 -2
  29. package/dist/chat/headless/secrets.d.ts +32 -0
  30. package/dist/chat/headless/secrets.js +43 -0
  31. package/dist/chat/headless/session-list.d.ts +45 -0
  32. package/dist/chat/headless/sidebar/estimates.js +13 -1
  33. package/dist/chat/headless/sidebar/index.d.ts +2 -2
  34. package/dist/chat/headless/sidebar/index.js +1 -1
  35. package/dist/chat/headless/sidebar/labels.d.ts +50 -0
  36. package/dist/chat/headless/sidebar/labels.js +1 -0
  37. package/dist/chat/headless/sidebar/query.d.ts +2 -2
  38. package/dist/chat/headless/sidebar/query.js +6 -3
  39. package/dist/chat/headless/sidebar/types.d.ts +7 -1
  40. package/dist/chat/headless/sidebar/view.js +2 -0
  41. package/dist/chat/headless/transcript/auth-failure.d.ts +67 -0
  42. package/dist/chat/headless/transcript/auth-failure.js +87 -0
  43. package/dist/chat/headless/transcript/index.d.ts +2 -1
  44. package/dist/chat/headless/transcript/index.js +2 -1
  45. package/dist/chat/headless/transcript/nesting.d.ts +3 -3
  46. package/dist/chat/headless/transcript/nesting.js +12 -4
  47. package/dist/chat/index.d.ts +4 -2
  48. package/dist/chat/index.js +3 -1
  49. package/dist/chat/interactions/InboxPanel.d.ts +6 -2
  50. package/dist/chat/interactions/InboxPanel.js +82 -44
  51. package/dist/chat/interactions/PlanCard.d.ts +2 -2
  52. package/dist/chat/interactions/PlanCard.js +1 -1
  53. package/dist/chat/interactions/QuestionField.d.ts +8 -3
  54. package/dist/chat/interactions/QuestionField.js +89 -8
  55. package/dist/chat/interactions/QuestionForm.d.ts +3 -1
  56. package/dist/chat/interactions/QuestionForm.js +48 -10
  57. package/dist/chat/interactions/SecretInput.d.ts +32 -0
  58. package/dist/chat/interactions/SecretInput.js +72 -0
  59. package/dist/chat/interactions/card-ui.d.ts +5 -3
  60. package/dist/chat/interactions/card-ui.js +5 -3
  61. package/dist/chat/interactions/index.d.ts +2 -1
  62. package/dist/chat/interactions/index.js +2 -1
  63. package/dist/chat/sidebar/SessionSidebar.js +2 -0
  64. package/dist/chat/sidebar/SidebarFilterMenu.d.ts +7 -2
  65. package/dist/chat/sidebar/SidebarFilterMenu.js +26 -2
  66. package/dist/chat/sidebar/SidebarSessionRow.d.ts +3 -1
  67. package/dist/chat/sidebar/SidebarSessionRow.js +8 -3
  68. package/dist/chat/sidebar/sidebar-live.js +8 -4
  69. package/dist/chat/transcript/AuthFailureCard.d.ts +34 -0
  70. package/dist/chat/transcript/AuthFailureCard.js +358 -0
  71. package/dist/chat/transcript/InteractionToolBody.js +12 -2
  72. package/dist/chat/transcript/actions.d.ts +24 -1
  73. package/dist/chat/transcript/index.d.ts +3 -2
  74. package/dist/chat/transcript/index.js +2 -1
  75. package/dist/chat/transcript/notices.d.ts +2 -1
  76. package/dist/chat/transcript/notices.js +13 -1
  77. package/dist/chat/transcript/script-input.d.ts +1 -1
  78. package/dist/chat/transcript/shell-block.js +1 -1
  79. package/dist/components/HowItWorks.d.ts +8 -1
  80. package/dist/components/HowItWorks.js +2 -2
  81. package/dist/components/RowActionsMenu.d.ts +6 -1
  82. package/dist/components/RowActionsMenu.js +4 -0
  83. package/dist/core.css +24 -0
  84. package/dist/dist/{index-WlE93Q6d.d.ts → index-BI6RZc60.d.ts} +36 -3
  85. package/dist/dist/index-f-XWIoYo.d.ts +1 -0
  86. package/dist/dist/index.d.ts +6 -0
  87. package/dist/dist/sandbox-B4OW6oNx.d.ts +2 -0
  88. package/dist/dist/timeout-B5pO5I5a.d.ts +30 -0
  89. package/dist/extensions/ExtensionSettingsPage.js +1 -1
  90. package/dist/extensions/ExtensionSettingsSidebar.js +1 -1
  91. package/dist/extensions/headless/fixture-host.js +1 -1
  92. package/dist/extensions/headless/index.js +4 -4
  93. package/dist/extensions/hooks.js +1 -1
  94. package/dist/files/DiffsTab.js +1 -1
  95. package/dist/files/EditorColumn.js +1 -1
  96. package/dist/files/MediaDiff.js +1 -1
  97. package/dist/files/SearchPanel.js +121 -53
  98. package/dist/files/headless/name-match.js +29 -14
  99. package/dist/files/useEntryActions.js +1 -1
  100. package/dist/files/useOpenFiles.js +1 -1
  101. package/dist/git/WherePicker.js +2 -2
  102. package/dist/git/headless/environment.d.ts +6 -1
  103. package/dist/git/headless/environment.js +5 -2
  104. package/dist/git/headless/labels.d.ts +2 -0
  105. package/dist/git/headless/labels.js +2 -0
  106. package/dist/git/index.d.ts +2 -1
  107. package/dist/git/index.js +2 -1
  108. package/dist/git/useStartFromPanel.d.ts +22 -0
  109. package/dist/git/useStartFromPanel.js +91 -0
  110. package/dist/keybindings/KeyCommands.js +1 -1
  111. package/dist/keybindings/KeybindingsProvider.js +1 -1
  112. package/dist/keybindings/headless/catalog.js +2 -2
  113. package/dist/keybindings/headless/index.js +2 -2
  114. package/dist/keybindings/headless/overrides.js +1 -1
  115. package/dist/machines/HostSyncPanel.js +1 -1
  116. package/dist/machines/SyncOutcomeBadge.js +1 -1
  117. package/dist/machines/headless/index.js +1 -1
  118. package/dist/onboarding/demos/features.d.ts +9 -1
  119. package/dist/onboarding/demos/features.js +107 -2
  120. package/dist/onboarding/demos/how-it-works.d.ts +5 -1
  121. package/dist/onboarding/demos/how-it-works.js +120 -2
  122. package/dist/onboarding/headless/labels.d.ts +17 -0
  123. package/dist/onboarding/headless/labels.js +17 -0
  124. package/dist/onboarding/index.js +1 -1
  125. package/dist/onboarding/marks.d.ts +1 -2
  126. package/dist/onboarding/marks.js +4 -12
  127. package/dist/onboarding/steps/ReadyStep.js +1 -1
  128. package/dist/onboarding/steps/connect/ProviderPanel.js +1 -1
  129. package/dist/onboarding/tutorials.d.ts +3 -1
  130. package/dist/onboarding/tutorials.js +2 -1
  131. package/dist/palette/app-sources.js +1 -1
  132. package/dist/session/ArtifactsPanel.js +1 -1
  133. package/dist/session/PanelAttention.d.ts +14 -6
  134. package/dist/session/PanelAttention.js +35 -24
  135. package/dist/session/PlanTracker.d.ts +54 -0
  136. package/dist/session/PlanTracker.js +412 -0
  137. package/dist/session/ProjectHome.d.ts +15 -2
  138. package/dist/session/ProjectHome.js +158 -85
  139. package/dist/session/RemindersPanel.d.ts +25 -0
  140. package/dist/session/RemindersPanel.js +526 -0
  141. package/dist/session/SecretsPanel.d.ts +19 -0
  142. package/dist/session/SecretsPanel.js +241 -0
  143. package/dist/session/SessionProvider.d.ts +26 -5
  144. package/dist/session/SessionProvider.js +51 -6
  145. package/dist/session/StepStatusIcon.d.ts +24 -0
  146. package/dist/session/StepStatusIcon.js +50 -0
  147. package/dist/session/TodoList.d.ts +4 -3
  148. package/dist/session/TodoList.js +6 -5
  149. package/dist/session/headless/fixture-host.d.ts +32 -22
  150. package/dist/session/headless/fixture-host.js +86 -51
  151. package/dist/session/headless/fixture-plans.d.ts +57 -0
  152. package/dist/session/headless/fixture-plans.js +141 -0
  153. package/dist/session/headless/fixture-schedules.d.ts +49 -0
  154. package/dist/session/headless/fixture-schedules.js +133 -0
  155. package/dist/session/headless/home-layout.d.ts +10 -2
  156. package/dist/session/headless/home-layout.js +7 -2
  157. package/dist/session/headless/host.d.ts +85 -13
  158. package/dist/session/headless/index.d.ts +5 -3
  159. package/dist/session/headless/index.js +6 -4
  160. package/dist/session/headless/labels.d.ts +95 -12
  161. package/dist/session/headless/labels.js +67 -18
  162. package/dist/session/headless/plans.d.ts +53 -0
  163. package/dist/session/headless/plans.js +78 -0
  164. package/dist/session/headless/reminder-labels.d.ts +63 -0
  165. package/dist/session/headless/reminder-labels.js +84 -0
  166. package/dist/session/headless/schedules.d.ts +93 -0
  167. package/dist/session/headless/schedules.js +190 -0
  168. package/dist/session/headless/secrets.d.ts +28 -0
  169. package/dist/session/headless/secrets.js +48 -0
  170. package/dist/session/index.d.ts +7 -5
  171. package/dist/session/index.js +6 -4
  172. package/dist/session/testing/contract.d.ts +18 -5
  173. package/dist/session/testing/contract.js +351 -43
  174. package/dist/session/testing/index.d.ts +4 -2
  175. package/dist/session/testing/index.js +4 -2
  176. package/dist/settings/headless/catalog.js +17 -1
  177. package/dist/settings/headless/index.d.ts +2 -2
  178. package/dist/settings/headless/index.js +3 -3
  179. package/dist/settings/headless/labels.d.ts +0 -2
  180. package/dist/settings/headless/labels.js +0 -2
  181. package/dist/settings/headless/layout.js +7 -1
  182. package/dist/settings/headless/providers.d.ts +17 -1
  183. package/dist/settings/headless/providers.js +19 -1
  184. package/dist/settings/headless/search.d.ts +1 -1
  185. package/dist/settings/rows.d.ts +1 -1
  186. package/dist/settings/rows.js +2 -2
  187. package/dist/settings/sections/appearance/AppearanceSection.js +2 -2
  188. package/dist/settings/sections/claude-import/ClaudeImportDialog.js +1 -1
  189. package/dist/settings/sections/editor/EditorSection.js +1 -1
  190. package/dist/settings/sections/environments/EnvironmentsSection.js +1 -1
  191. package/dist/settings/sections/extensions/ChangeOriginDialog.js +1 -1
  192. package/dist/settings/sections/extensions/CreateExtensionDialog.js +1 -1
  193. package/dist/settings/sections/extensions/ExtensionsSection.js +1 -1
  194. package/dist/settings/sections/host-catalog/HostCatalogSection.js +1 -1
  195. package/dist/settings/sections/instructions/InstructionsSection.js +1 -1
  196. package/dist/settings/sections/mcp/McpSection.js +1 -1
  197. package/dist/settings/sections/mcp/McpServerRow.js +1 -1
  198. package/dist/settings/sections/models/ModelRows.js +1 -1
  199. package/dist/settings/sections/providers/ProvidersSection.js +209 -201
  200. package/dist/settings/sections/providers/ServerProvidersSection.js +1 -1
  201. package/dist/settings/sections/shared/catalog.js +1 -1
  202. package/dist/settings/sections/skills/SkillsSection.js +1 -1
  203. package/dist/styles.css +59 -1
  204. package/dist/terminal/HostTerminalSurface.js +2 -2
  205. package/dist/workspace/PanelContentView.d.ts +22 -4
  206. package/dist/workspace/PanelContentView.js +112 -16
  207. package/dist/workspace/PanelGlyph.d.ts +21 -0
  208. package/dist/workspace/PanelGlyph.js +33 -0
  209. package/dist/workspace/PanelHome.js +5 -3
  210. package/dist/workspace/PanelStrip.js +11 -4
  211. package/dist/workspace/PanelToolbar.d.ts +32 -0
  212. package/dist/workspace/PanelToolbar.js +194 -0
  213. package/dist/workspace/WorkspaceProvider.d.ts +3 -1
  214. package/dist/workspace/WorkspaceProvider.js +6 -2
  215. package/dist/workspace/extension-tabs.js +5 -2
  216. package/dist/workspace/headless/host.d.ts +4 -0
  217. package/dist/workspace/headless/index.d.ts +3 -1
  218. package/dist/workspace/headless/index.js +4 -2
  219. package/dist/workspace/headless/labels.d.ts +10 -0
  220. package/dist/workspace/headless/labels.js +11 -1
  221. package/dist/workspace/headless/pages.d.ts +15 -0
  222. package/dist/workspace/headless/pages.js +49 -0
  223. package/dist/workspace/headless/tab-mark.d.ts +14 -0
  224. package/dist/workspace/headless/tab-mark.js +27 -0
  225. package/dist/workspace/headless/view.d.ts +7 -1
  226. package/dist/workspace/index.d.ts +3 -2
  227. package/dist/workspace/index.js +3 -2
  228. package/dist/workspace/testing/index.js +6 -0
  229. package/dist/workspace/workspace-key-commands.js +3 -3
  230. package/package.json +2 -2
  231. package/src/styles/motion.css +13 -0
  232. package/src/styles/onboarding.css +0 -1
  233. package/src/styles/primitives.css +10 -0
  234. package/src/styles/workspace.css +17 -0
  235. package/dist/session/TodosPanel.d.ts +0 -19
  236. package/dist/session/TodosPanel.js +0 -251
  237. package/dist/session/headless/todos.d.ts +0 -22
  238. package/dist/session/headless/todos.js +0 -38
@@ -16,7 +16,9 @@ const DEFAULT_COMPOSER_CHROME_LABELS = {
16
16
  badgeTodos: "Todos",
17
17
  badgeTodosProgress: (done, total) => `${done} of ${total} done`,
18
18
  badgeTodosCurrent: (content, progress) => `${content} (${progress})`,
19
- badgeTodosLast: (progress) => `Last list: ${progress}`,
19
+ badgeTodosStopped: (progress) => `Stopped: ${progress}`,
20
+ badgeReminders: (when) => `Next ${when}`,
21
+ badgeRemindersTitle: (n, when) => `${n === 1 ? "A reminder" : `${n} reminders`} for this session. The next is ${when}.`,
20
22
  /** The archived session's banner. */
21
23
  archivedNotice: "This session is archived. Unarchive it to continue.",
22
24
  unarchive: "Unarchive",
@@ -1,6 +1,6 @@
1
1
  import { Readable, Writable, constant, useReadable, writable } from "./store.js";
2
2
  import { SessionNotification, SessionNotificationStore, createNotificationStore } from "./sidebar/notifications.js";
3
- import { SessionActivityFilter, SessionArchiveFilter, SidebarExtensionView, SidebarGroupBy, SidebarListSession, SidebarSortBy, SidebarView, VIEW_CHOICE } from "./sidebar/types.js";
3
+ import { SessionActivityFilter, SessionArchiveFilter, SidebarExtensionView, SidebarGroupBy, SidebarListSession, SidebarOrigin, SidebarSortBy, SidebarView, VIEW_CHOICE } from "./sidebar/types.js";
4
4
  import { DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SidebarLastSessions, SidebarViewMap, SidebarViewRecord, SidebarViews, SidebarViewsHost, SidebarViewsOptions, SidebarViewsStorage, SpaceSwitcherPrefs, createSidebarViews, parseSidebarView, parseSwitcherPrefs, readSidebarViews } from "./sidebar/view.js";
5
5
  import { AGENT_GROUPING, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, SidebarContributionStores, SidebarContributions, SidebarGrouping, SidebarItemEntry, SidebarQueryLayer, SidebarRowChip, SidebarRowDecoration, SidebarSpace, claimChildSessions, clearedViewFilters, createDecorator, extensionSpaceOf, filterQueryOf, filtersForSpace, itemsForSpace, mergeSidebarSpaces, nextSavedViewName, resolveGrouping, resolveSort, sidebarContributionsOf, spaceMembership, switcherSpaces, viewFilterOf, viewFiltersOn } from "./sidebar/query.js";
6
6
  import { DirectoryServer, DirectorySettings, ProjectInSpace, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, SessionRef, SessionRemoval, availableProjectsOf, createSessionDirectory, filterDirectorySessions, projectKeyOf, sessionRefsOf } from "./sidebar/directory.js";
@@ -14,7 +14,8 @@ import { EMPTY_RUN_METER, RunMeter, RunMeterRow, RunMeterSignal, RunMeterState,
14
14
  import { ComposerAgentProfile, ComposerAgents, ComposerCacheImpact, ComposerCacheImpactChange, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerEffort, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerSessionView } from "./composer/host-chrome.js";
15
15
  import { DEFAULT_MODEL_PICKER_PREFS, MODEL_PICKER_STORAGE_KEY, ModelPickerPrefs, ModelPickerPrefsStorage, ModelPickerPrefsStore, createModelPickerPrefs, parseModelPickerPrefs } from "./composer/model-picker-prefs.js";
16
16
  import { CommandArgSuggestionSummary, CommandSummary, ComposerAttachment, ComposerAutocomplete, ComposerCommandArgs, ComposerCompletions, ComposerDraftAttachmentsListener, ComposerDrafts, ComposerExtensionItem, ComposerExtensionProvider, ComposerFolderLocation, ComposerFolders, ComposerHost, ComposerPromptSuggestion, ComposerScope, ComposerSharedGhost, ComposerSuggestions, FileEntry, PromptAttachment, SharedDraft, SharedDraftAttachmentsChange, SharedDraftChange, SkillConfig } from "./composer/host.js";
17
- import { ChatLabels, DEFAULT_CHAT_LABELS } from "./labels.js";
17
+ import { SecretTimeLeft, secretTimeLeft, secretTimeLeftIso } from "./secrets.js";
18
+ import { ChatLabels, DEFAULT_CHAT_LABELS, secretExpiryWords } from "./labels.js";
18
19
  import { HostStatus, HostView, hostReachable, hostStatusLabel } from "./hosts.js";
19
20
  import { SessionBadgesEntry, SessionBadgesSource, SessionBadgesStore, createSessionBadges } from "./sidebar/badges.js";
20
21
  import { SessionWindowMode, SidebarEnvironmentHost, SidebarHost } from "./sidebar/host.js";
@@ -38,6 +39,7 @@ import { nestToolCalls, nestedCallVisible } from "./transcript/nesting.js";
38
39
  import { PairingResult, ToolPairing, pairToolEvents } from "./transcript/pairing.js";
39
40
  import { FoldActionItem, FoldActionState, foldActionItems, toolAction } from "./transcript/fold-actions.js";
40
41
  import { RunFailure, failureTooltip, markRunFailures } from "./transcript/run-failures.js";
42
+ import { AuthCardPlan, AuthFixes, AuthSettingsTarget, authFailureDetails, createAuthFixes, isAuthFixed, planAuthCard } from "./transcript/auth-failure.js";
41
43
  import { SelectStops, computeSelectStops, rowTurnIds, stopForRow } from "./transcript/select-stops.js";
42
44
  import "./transcript/index.js";
43
45
  import { FrameScheduler, defaultFrameScheduler } from "./streams/scheduler.js";
@@ -76,4 +78,4 @@ import { EffortPickerTarget, defaultModelPatch, effortPickerTarget, rememberedDe
76
78
  import { ConversationBadge, ConversationBadgeData, ConversationBadgeInput, InboxSummary, MAX_EXTENSION_COMPOSER_BADGES, conversationBadges, resolveBadgePanel } from "./composer/conversation-badges.js";
77
79
  import { ModelNames, ModelNamesProvider, ModelNamesStore, createModelNames, modelNamesOf, namerFor } from "./composer/model-names.js";
78
80
  import "./composer/index.js";
79
- export { AGENT_GROUPING, type BashExitMeta, BuildQuerySidebarRowsOptions, BuildSidebarRowsOptions, CHATS_BUCKET, CHUNK_THRESHOLD, COMMON_EMOJI, CalendarOptions, ChatAttachment, ChatBadgeActions, ChatBlockRunOptions, ChatBlockRunTransport, ChatBlockRuns, ChatChipDetails, ChatCommandFacts, ChatCommit, ChatContextFacts, ChatEvent, ChatHost, ChatInteraction, ChatLabels, ChatModel, ChatModelProvider, ChatPaths, ChatReferences, ChatReferencesChange, ChatResolvedPath, ChatSearchState, ChatSearchSync, ChatSession, ChatSessionFacts, ChatSessionStatus, ChatSiteIcons, ChatSkillFacts, ChipResolution, ChipViewLabels, type Cluster, type CommandArgSuggestionSummary, type CommandSummary, CompactionProgress, CompactionProgressStore, CompactionSignal, ComposerAgentProfile, ComposerAgents, ComposerAttachment, ComposerAutocomplete, ComposerCacheImpact, ComposerCacheImpactChange, ComposerChromeLabels, ComposerCommandArgs, ComposerCompletions, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerDraftAttachmentsListener, ComposerDrafts, ComposerEffort, ComposerExtensionItem, ComposerExtensionProvider, ComposerFolderLocation, ComposerFolders, ComposerHost, ComposerLabels, type ComposerListScope, type ComposerLists, ComposerMode, ComposerModelEntry, ComposerModelOption, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerPromptSuggestion, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerScope, ComposerSessionView, ComposerSharedGhost, ComposerSuggestions, ConversationBadge, ConversationBadgeData, ConversationBadgeInput, DEFAULT_CHAT_LABELS, DEFAULT_COMPOSER_CHROME_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_MODEL_PICKER_PREFS, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, DeltaBucket, DirectoryServer, DirectorySettings, DotStateInput, type DotVariant, DraftFolderSource, DraftFolderState, DraftScope, DraftScopeState, DraftScopeStore, DraftScopeStoreOptions, type DrainPlan, EMPTY_RUN_METER, EffortPickerTarget, type ExchangeFoldStats, FileChip, FileChipKind, type FileEntry, type FoldActionItem, type FoldActionState, type FrameScheduler, type GroupCluster, HostStatus, HostView, ImageModelRow, InboxSummary, LIVE_BLOCK_RUN_LINES, type LazyList, ListableSession, LiveBlockRun, LiveCostStatus, LiveStreamProgress, type LoadEarlierOptions, MAIN_SESSION_ICON_KEY, MAX_EXTENSION_COMPOSER_BADGES, MAX_ROW_CHIPS, MODEL_PICKER_STORAGE_KEY, ModelCatalogRow, ModelKnobs, ModelKnobsMemory, ModelKnobsStore, ModelNames, ModelNamesProvider, ModelNamesStore, ModelPickRef, ModelPickerPrefs, ModelPickerPrefsStorage, ModelPickerPrefsStore, NO_PROVIDER_ERROR, NO_SIDEBAR_CONTRIBUTIONS, NewSessionDefaults, NewSessionRequest, OpenFence, type OtherStreamSignal, type Owned, PINNED_PROJECTS_KEY, PROJECT_GROUP_CAP, PROJECT_ICONS_KEY, type PairingResult, PathResolver, PathResolverOptions, PinsBySpace, ProjectIcon, ProjectIconMap, ProjectInSpace, type PromptAttachment, type PromptOrigin, REFERENCES_STORAGE_KEY, RELATIVE_TIME_DATE_AFTER_DAYS, Readable, ReferenceStore, ReferenceStoreOptions, ReferenceViewEntry, type ResourceSnapshot, type Row, RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, type RunFailure, RunMeter, RunMeterRow, RunMeterSignal, RunMeterState, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SMOOTH_TICK_MS, type SelectStops, SendAttachment, SendDraft, SendFlowDeps, SendInput, SendPromptAttachment, SendRequest, SessionActivity, SessionActivityFilter, SessionActivitySignal, SessionActivityStore, SessionArchiveFilter, SessionBadgesEntry, SessionBadgesSource, SessionBadgesStore, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, type SessionFallbackModel, SessionGroupBy, SessionListOptions, SessionListRow, SessionNotification, SessionNotificationStore, type SessionPageState, SessionRef, SessionRemoval, type SessionRetryState, SessionSearchHit, SessionSortBy, type SessionStreamActions, type SessionStreamPage, type SessionStreamSignal, SessionStreamStore, type SessionStreamStoreOptions, type SessionStreamWrite, type SessionStreams, type SessionStreamsOptions, SessionWindowMode, SetDefaultModel, SharedDraft, SharedDraftAttachmentsChange, SharedDraftChange, SidebarContributionStores, SidebarContributions, SidebarDotState, SidebarEnvironmentHost, SidebarExtensionView, SidebarGroupBy, SidebarGrouping, SidebarHost, SidebarItemEntry, SidebarLabels, SidebarLastSessions, SidebarListRow, SidebarListSession, SidebarNode, SidebarQueryLayer, SidebarRowChip, SidebarRowDecoration, SidebarSortBy, SidebarSpace, SidebarView, SidebarViewMap, SidebarViewRecord, SidebarViews, SidebarViewsHost, SidebarViewsOptions, SidebarViewsStorage, type SkillConfig, SpaceSwitcherPrefs, type SpawnMeta, type ToolPairing, type ToolRowModel, Transcript, TranscriptState, TurnPromptDraft, VIEW_CHOICE, Writable, activityLabel, availableProjectsOf, batchThinkingRuns, batchToolRuns, beginChipWork, buildHostSidebarRows, buildQuerySidebarRows, buildSessionRows, buildSidebarRows, caretEffectivelyAtStart, chipForPath, chipWorkBusy, claimChildSessions, classifyInlineCode, clearedViewFilters, clusterByOwner, collapseEvents, commandName, commandRef, commandView, commitModelPick, commitView, compareSessions, composeLiveCost, composeSubmitText, computeSelectStops, constant, conversationBadges, createChatBlockRuns, createCompactionProgress, createComposerLists, createDecorator, createDraftScopeStore, createModelKnobs, createModelNames, createModelPickerPrefs, createNotificationStore, createPathResolver, createReferenceStore, createRunEstimates, createRunMeter, createSessionActivity, createSessionBadges, createSessionDirectory, createSessionStreamActions, createSessionStreams, createSidebarViews, createSiteIcons, dateBucket, decodeHistoryEntry, defaultFrameScheduler, defaultModelPatch, deleteSessionPrompt, deriveDotState, dockRunReceipts, dotVariantFor, draftFolderPath, draftLocalFolder, draftScopeOf, drainBucket, effortPickerTarget, encodeHistoryDraft, environmentKindLabel, environmentSummaryText, exitsModeOnKey, extensionSpaceOf, failureTooltip, filterDirectorySessions, filterQueryOf, filterSessions, filtersForSpace, findCommand, findLastStreamingRow, firstGrapheme, firstRowId, foldActionItems, foldExchanges, foldWorkerRows, formatElapsedShort, formatSessionCostLabel, groupsByFolder, hostReachable, hostStatusLabel, inheritRowIdentity, isProjectIcon, isProjectMember, itemRows, itemsForSpace, lastModelChainOf, markRunFailures, mergeLiveTail, mergePromptPreviews, mergeSidebarSpaces, missingPreviewData, modeForTypedChar, modelKnobsOf, modelNamesOf, namerFor, nestSidebarRows, nestToolCalls, nestedCallVisible, newSessionRequest, nextSavedViewName, openFenceOf, pairToolEvents, parseBashExitMeta, parseModelPickerPrefs, parsePinnedProjects, parseProjectIcons, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, projectKeyOf, projectPathOf, promptAttachments, promptDraftOf, promptRefs, readSidebarViews, recentHostFolders, recentLocalFolders, reduceActivity, reduceCompaction, refusedSpawn, relativeTime, rememberableChain, rememberedDefaultModel, rememberedPick, repoGroups, resetChipWorkForTests, resolveBadgePanel, resolveChipPath, resolveGrouping, resolveSort, rowTurnIds, runsInRemoteSandbox, safeSurrogateSlice, selectEditEvents, sendPrompt, sessionForToken, sessionRefsOf, sessionView, settledResource, shellCommandOf, shortUrl, sidebarContributionsOf, siteOrigin, skillName, skillView, spaceMembership, splitMarkdown, stableSelection, stopForRow, switcherSpaces, tickBucket, toolAction, toolFailed, unsentDraft, urlRefs, useReadable, viewFilterOf, viewFiltersOn, whenChipsSettle, wireAttachmentsToChat, withPinnedProject, withoutPartialFence, writable };
81
+ export { AGENT_GROUPING, type AuthCardPlan, type AuthFixes, type AuthSettingsTarget, type BashExitMeta, BuildQuerySidebarRowsOptions, BuildSidebarRowsOptions, CHATS_BUCKET, CHUNK_THRESHOLD, COMMON_EMOJI, CalendarOptions, ChatAttachment, ChatBadgeActions, ChatBlockRunOptions, ChatBlockRunTransport, ChatBlockRuns, ChatChipDetails, ChatCommandFacts, ChatCommit, ChatContextFacts, ChatEvent, ChatHost, ChatInteraction, ChatLabels, ChatModel, ChatModelProvider, ChatPaths, ChatReferences, ChatReferencesChange, ChatResolvedPath, ChatSearchState, ChatSearchSync, ChatSession, ChatSessionFacts, ChatSessionStatus, ChatSiteIcons, ChatSkillFacts, ChipResolution, ChipViewLabels, type Cluster, type CommandArgSuggestionSummary, type CommandSummary, CompactionProgress, CompactionProgressStore, CompactionSignal, ComposerAgentProfile, ComposerAgents, ComposerAttachment, ComposerAutocomplete, ComposerCacheImpact, ComposerCacheImpactChange, ComposerChromeLabels, ComposerCommandArgs, ComposerCompletions, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerDraftAttachmentsListener, ComposerDrafts, ComposerEffort, ComposerExtensionItem, ComposerExtensionProvider, ComposerFolderLocation, ComposerFolders, ComposerHost, ComposerLabels, type ComposerListScope, type ComposerLists, ComposerMode, ComposerModelEntry, ComposerModelOption, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerPromptSuggestion, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerScope, ComposerSessionView, ComposerSharedGhost, ComposerSuggestions, ConversationBadge, ConversationBadgeData, ConversationBadgeInput, DEFAULT_CHAT_LABELS, DEFAULT_COMPOSER_CHROME_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_MODEL_PICKER_PREFS, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, DeltaBucket, DirectoryServer, DirectorySettings, DotStateInput, type DotVariant, DraftFolderSource, DraftFolderState, DraftScope, DraftScopeState, DraftScopeStore, DraftScopeStoreOptions, type DrainPlan, EMPTY_RUN_METER, EffortPickerTarget, type ExchangeFoldStats, FileChip, FileChipKind, type FileEntry, type FoldActionItem, type FoldActionState, type FrameScheduler, type GroupCluster, HostStatus, HostView, ImageModelRow, InboxSummary, LIVE_BLOCK_RUN_LINES, type LazyList, ListableSession, LiveBlockRun, LiveCostStatus, LiveStreamProgress, type LoadEarlierOptions, MAIN_SESSION_ICON_KEY, MAX_EXTENSION_COMPOSER_BADGES, MAX_ROW_CHIPS, MODEL_PICKER_STORAGE_KEY, ModelCatalogRow, ModelKnobs, ModelKnobsMemory, ModelKnobsStore, ModelNames, ModelNamesProvider, ModelNamesStore, ModelPickRef, ModelPickerPrefs, ModelPickerPrefsStorage, ModelPickerPrefsStore, NO_PROVIDER_ERROR, NO_SIDEBAR_CONTRIBUTIONS, NewSessionDefaults, NewSessionRequest, OpenFence, type OtherStreamSignal, type Owned, PINNED_PROJECTS_KEY, PROJECT_GROUP_CAP, PROJECT_ICONS_KEY, type PairingResult, PathResolver, PathResolverOptions, PinsBySpace, ProjectIcon, ProjectIconMap, ProjectInSpace, type PromptAttachment, type PromptOrigin, REFERENCES_STORAGE_KEY, RELATIVE_TIME_DATE_AFTER_DAYS, Readable, ReferenceStore, ReferenceStoreOptions, ReferenceViewEntry, type ResourceSnapshot, type Row, RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, type RunFailure, RunMeter, RunMeterRow, RunMeterSignal, RunMeterState, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SMOOTH_TICK_MS, SecretTimeLeft, type SelectStops, SendAttachment, SendDraft, SendFlowDeps, SendInput, SendPromptAttachment, SendRequest, SessionActivity, SessionActivityFilter, SessionActivitySignal, SessionActivityStore, SessionArchiveFilter, SessionBadgesEntry, SessionBadgesSource, SessionBadgesStore, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, type SessionFallbackModel, SessionGroupBy, SessionListOptions, SessionListRow, SessionNotification, SessionNotificationStore, type SessionPageState, SessionRef, SessionRemoval, type SessionRetryState, SessionSearchHit, SessionSortBy, type SessionStreamActions, type SessionStreamPage, type SessionStreamSignal, SessionStreamStore, type SessionStreamStoreOptions, type SessionStreamWrite, type SessionStreams, type SessionStreamsOptions, SessionWindowMode, SetDefaultModel, SharedDraft, SharedDraftAttachmentsChange, SharedDraftChange, SidebarContributionStores, SidebarContributions, SidebarDotState, SidebarEnvironmentHost, SidebarExtensionView, SidebarGroupBy, SidebarGrouping, SidebarHost, SidebarItemEntry, SidebarLabels, SidebarLastSessions, SidebarListRow, SidebarListSession, SidebarNode, SidebarOrigin, SidebarQueryLayer, SidebarRowChip, SidebarRowDecoration, SidebarSortBy, SidebarSpace, SidebarView, SidebarViewMap, SidebarViewRecord, SidebarViews, SidebarViewsHost, SidebarViewsOptions, SidebarViewsStorage, type SkillConfig, SpaceSwitcherPrefs, type SpawnMeta, type ToolPairing, type ToolRowModel, Transcript, TranscriptState, TurnPromptDraft, VIEW_CHOICE, Writable, activityLabel, authFailureDetails, availableProjectsOf, batchThinkingRuns, batchToolRuns, beginChipWork, buildHostSidebarRows, buildQuerySidebarRows, buildSessionRows, buildSidebarRows, caretEffectivelyAtStart, chipForPath, chipWorkBusy, claimChildSessions, classifyInlineCode, clearedViewFilters, clusterByOwner, collapseEvents, commandName, commandRef, commandView, commitModelPick, commitView, compareSessions, composeLiveCost, composeSubmitText, computeSelectStops, constant, conversationBadges, createAuthFixes, createChatBlockRuns, createCompactionProgress, createComposerLists, createDecorator, createDraftScopeStore, createModelKnobs, createModelNames, createModelPickerPrefs, createNotificationStore, createPathResolver, createReferenceStore, createRunEstimates, createRunMeter, createSessionActivity, createSessionBadges, createSessionDirectory, createSessionStreamActions, createSessionStreams, createSidebarViews, createSiteIcons, dateBucket, decodeHistoryEntry, defaultFrameScheduler, defaultModelPatch, deleteSessionPrompt, deriveDotState, dockRunReceipts, dotVariantFor, draftFolderPath, draftLocalFolder, draftScopeOf, drainBucket, effortPickerTarget, encodeHistoryDraft, environmentKindLabel, environmentSummaryText, exitsModeOnKey, extensionSpaceOf, failureTooltip, filterDirectorySessions, filterQueryOf, filterSessions, filtersForSpace, findCommand, findLastStreamingRow, firstGrapheme, firstRowId, foldActionItems, foldExchanges, foldWorkerRows, formatElapsedShort, formatSessionCostLabel, groupsByFolder, hostReachable, hostStatusLabel, inheritRowIdentity, isAuthFixed, isProjectIcon, isProjectMember, itemRows, itemsForSpace, lastModelChainOf, markRunFailures, mergeLiveTail, mergePromptPreviews, mergeSidebarSpaces, missingPreviewData, modeForTypedChar, modelKnobsOf, modelNamesOf, namerFor, nestSidebarRows, nestToolCalls, nestedCallVisible, newSessionRequest, nextSavedViewName, openFenceOf, pairToolEvents, parseBashExitMeta, parseModelPickerPrefs, parsePinnedProjects, parseProjectIcons, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, planAuthCard, projectKeyOf, projectPathOf, promptAttachments, promptDraftOf, promptRefs, readSidebarViews, recentHostFolders, recentLocalFolders, reduceActivity, reduceCompaction, refusedSpawn, relativeTime, rememberableChain, rememberedDefaultModel, rememberedPick, repoGroups, resetChipWorkForTests, resolveBadgePanel, resolveChipPath, resolveGrouping, resolveSort, rowTurnIds, runsInRemoteSandbox, safeSurrogateSlice, secretExpiryWords, secretTimeLeft, secretTimeLeftIso, selectEditEvents, sendPrompt, sessionForToken, sessionRefsOf, sessionView, settledResource, shellCommandOf, shortUrl, sidebarContributionsOf, siteOrigin, skillName, skillView, spaceMembership, splitMarkdown, stableSelection, stopForRow, switcherSpaces, tickBucket, toolAction, toolFailed, unsentDraft, urlRefs, useReadable, viewFilterOf, viewFiltersOn, whenChipsSettle, wireAttachmentsToChat, withPinnedProject, withoutPartialFence, writable };
@@ -1,7 +1,18 @@
1
1
  import { constant, useReadable, writable } from "./store.js";
2
+ import { pairToolEvents } from "./transcript/pairing.js";
3
+ import { firstRowId, parseBashExitMeta } from "./transcript/rows.js";
4
+ import { collapseEvents, inheritRowIdentity, refusedSpawn, toolFailed } from "./transcript/collapse.js";
5
+ import { mergeLiveTail } from "./streams/merge.js";
6
+ import { mergePromptPreviews, missingPreviewData } from "./streams/prompt-previews.js";
7
+ import { defaultFrameScheduler } from "./streams/scheduler.js";
8
+ import { SessionStreamStore } from "./streams/store.js";
9
+ import { LIVE_BLOCK_RUN_LINES, createChatBlockRuns } from "./block-runs.js";
10
+ import { DEFAULT_MODEL_PICKER_PREFS, MODEL_PICKER_STORAGE_KEY, createModelPickerPrefs, parseModelPickerPrefs } from "./composer/model-picker-prefs.js";
11
+ import { EMPTY_RUN_METER, createRunMeter } from "./composer/run-meter.js";
12
+ import { SMOOTH_TICK_MS, drainBucket, safeSurrogateSlice, tickBucket } from "./smooth-stream.js";
2
13
  import { DEFAULT_COMPOSER_CHROME_LABELS } from "./composer/labels-chrome.js";
3
14
  import { DEFAULT_COMPOSER_LABELS } from "./composer/labels.js";
4
- import { DEFAULT_CHAT_LABELS } from "./labels.js";
15
+ import { DEFAULT_CHAT_LABELS, secretExpiryWords } from "./labels.js";
5
16
  import { commandRef, shortUrl, urlRefs } from "./badge-refs.js";
6
17
  import { chipForPath, classifyInlineCode, resolveChipPath } from "./file-chip.js";
7
18
  import { createSiteIcons, siteOrigin } from "./site-icons.js";
@@ -12,23 +23,13 @@ import { beginChipWork, chipWorkBusy, resetChipWorkForTests, whenChipsSettle } f
12
23
  import { createPathResolver } from "./path-resolver.js";
13
24
  import { REFERENCES_STORAGE_KEY, createReferenceStore } from "./reference-store.js";
14
25
  import { CHUNK_THRESHOLD, openFenceOf, splitMarkdown, withoutPartialFence } from "./markdown-chunks.js";
15
- import { pairToolEvents } from "./transcript/pairing.js";
16
- import { firstRowId, parseBashExitMeta } from "./transcript/rows.js";
17
- import { collapseEvents, inheritRowIdentity, refusedSpawn, toolFailed } from "./transcript/collapse.js";
18
- import { mergeLiveTail } from "./streams/merge.js";
19
- import { mergePromptPreviews, missingPreviewData } from "./streams/prompt-previews.js";
20
- import { defaultFrameScheduler } from "./streams/scheduler.js";
21
- import { SessionStreamStore } from "./streams/store.js";
22
- import { LIVE_BLOCK_RUN_LINES, createChatBlockRuns } from "./block-runs.js";
23
- import { DEFAULT_MODEL_PICKER_PREFS, MODEL_PICKER_STORAGE_KEY, createModelPickerPrefs, parseModelPickerPrefs } from "./composer/model-picker-prefs.js";
24
- import { EMPTY_RUN_METER, createRunMeter } from "./composer/run-meter.js";
25
- import { SMOOTH_TICK_MS, drainBucket, safeSurrogateSlice, tickBucket } from "./smooth-stream.js";
26
26
  import { hostReachable, hostStatusLabel } from "./hosts.js";
27
27
  import { batchThinkingRuns, batchToolRuns, clusterByOwner } from "./transcript/batch.js";
28
28
  import { foldActionItems, toolAction } from "./transcript/fold-actions.js";
29
29
  import { dockRunReceipts, dotVariantFor, findLastStreamingRow, foldExchanges, foldWorkerRows } from "./transcript/fold.js";
30
30
  import { nestToolCalls, nestedCallVisible } from "./transcript/nesting.js";
31
31
  import { failureTooltip, markRunFailures } from "./transcript/run-failures.js";
32
+ import { authFailureDetails, createAuthFixes, isAuthFixed, planAuthCard } from "./transcript/auth-failure.js";
32
33
  import { computeSelectStops, rowTurnIds, stopForRow } from "./transcript/select-stops.js";
33
34
  import { createRunEstimates, pickRunEstimate } from "./sidebar/estimates.js";
34
35
  import { createSessionStreams } from "./streams/session-streams.js";
@@ -42,12 +43,14 @@ import { MAX_EXTENSION_COMPOSER_BADGES, conversationBadges, resolveBadgePanel }
42
43
  import { draftFolderPath, draftLocalFolder, recentHostFolders, recentLocalFolders } from "./draft-target.js";
43
44
  import { NO_PROVIDER_ERROR, newSessionRequest, promptAttachments, promptRefs, sendPrompt, shellCommandOf } from "./send-flow.js";
44
45
  import { defaultModelPatch, effortPickerTarget, rememberedDefaultModel } from "./composer/new-session-defaults.js";
46
+ import { secretTimeLeft, secretTimeLeftIso } from "./secrets.js";
45
47
  import { wireAttachmentsToChat } from "./composer/draft-sync.js";
46
48
  import { promptDraftOf } from "./turn-prompt.js";
47
- import { pinSession, pinnedSessions } from "./sidebar/pinned-sessions.js";
48
49
  import { COMMON_EMOJI, MAIN_SESSION_ICON_KEY, PROJECT_ICONS_KEY, firstGrapheme, isProjectIcon, parseProjectIcons } from "./sidebar/project-icons.js";
49
50
  import { DEFAULT_SIDEBAR_LABELS } from "./sidebar/labels.js";
51
+ import { pinSession, pinnedSessions } from "./sidebar/pinned-sessions.js";
50
52
  import { caretEffectivelyAtStart, composeSubmitText, decodeHistoryEntry, encodeHistoryDraft, exitsModeOnKey, modeForTypedChar, unsentDraft } from "./composer-modes.js";
53
+ import { createComposerLists } from "./composer/composer-sources.js";
51
54
  import { createDraftScopeStore, draftScopeOf } from "./draft-scope.js";
52
55
  import { VIEW_CHOICE } from "./sidebar/types.js";
53
56
  import { CHATS_BUCKET, buildHostSidebarRows, buildQuerySidebarRows, buildSidebarRows, groupsByFolder, isProjectMember, itemRows, nestSidebarRows, partitionMainSession, projectPathOf, repoGroups } from "./sidebar/rows.js";
@@ -61,5 +64,4 @@ import { AGENT_GROUPING, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, claimChildSess
61
64
  import { availableProjectsOf, createSessionDirectory, filterDirectorySessions, projectKeyOf, sessionRefsOf } from "./sidebar/directory.js";
62
65
  import { deriveDotState } from "./sidebar/dot-state.js";
63
66
  import { deleteSessionPrompt, environmentKindLabel, environmentSummaryText, runsInRemoteSandbox } from "./sidebar/environment.js";
64
- import { createComposerLists } from "./composer/composer-sources.js";
65
- export { AGENT_GROUPING, CHATS_BUCKET, CHUNK_THRESHOLD, COMMON_EMOJI, DEFAULT_CHAT_LABELS, DEFAULT_COMPOSER_CHROME_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_MODEL_PICKER_PREFS, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, EMPTY_RUN_METER, LIVE_BLOCK_RUN_LINES, MAIN_SESSION_ICON_KEY, MAX_EXTENSION_COMPOSER_BADGES, MAX_ROW_CHIPS, MODEL_PICKER_STORAGE_KEY, NO_PROVIDER_ERROR, NO_SIDEBAR_CONTRIBUTIONS, PINNED_PROJECTS_KEY, PROJECT_GROUP_CAP, PROJECT_ICONS_KEY, REFERENCES_STORAGE_KEY, RELATIVE_TIME_DATE_AFTER_DAYS, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SMOOTH_TICK_MS, SessionStreamStore, VIEW_CHOICE, activityLabel, availableProjectsOf, batchThinkingRuns, batchToolRuns, beginChipWork, buildHostSidebarRows, buildQuerySidebarRows, buildSessionRows, buildSidebarRows, caretEffectivelyAtStart, chipForPath, chipWorkBusy, claimChildSessions, classifyInlineCode, clearedViewFilters, clusterByOwner, collapseEvents, commandName, commandRef, commandView, commitModelPick, commitView, compareSessions, composeLiveCost, composeSubmitText, computeSelectStops, constant, conversationBadges, createChatBlockRuns, createCompactionProgress, createComposerLists, createDecorator, createDraftScopeStore, createModelKnobs, createModelNames, createModelPickerPrefs, createNotificationStore, createPathResolver, createReferenceStore, createRunEstimates, createRunMeter, createSessionActivity, createSessionBadges, createSessionDirectory, createSessionStreamActions, createSessionStreams, createSidebarViews, createSiteIcons, dateBucket, decodeHistoryEntry, defaultFrameScheduler, defaultModelPatch, deleteSessionPrompt, deriveDotState, dockRunReceipts, dotVariantFor, draftFolderPath, draftLocalFolder, draftScopeOf, drainBucket, effortPickerTarget, encodeHistoryDraft, environmentKindLabel, environmentSummaryText, exitsModeOnKey, extensionSpaceOf, failureTooltip, filterDirectorySessions, filterQueryOf, filterSessions, filtersForSpace, findCommand, findLastStreamingRow, firstGrapheme, firstRowId, foldActionItems, foldExchanges, foldWorkerRows, formatElapsedShort, formatSessionCostLabel, groupsByFolder, hostReachable, hostStatusLabel, inheritRowIdentity, isProjectIcon, isProjectMember, itemRows, itemsForSpace, lastModelChainOf, markRunFailures, mergeLiveTail, mergePromptPreviews, mergeSidebarSpaces, missingPreviewData, modeForTypedChar, modelKnobsOf, modelNamesOf, namerFor, nestSidebarRows, nestToolCalls, nestedCallVisible, newSessionRequest, nextSavedViewName, openFenceOf, pairToolEvents, parseBashExitMeta, parseModelPickerPrefs, parsePinnedProjects, parseProjectIcons, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, projectKeyOf, projectPathOf, promptAttachments, promptDraftOf, promptRefs, readSidebarViews, recentHostFolders, recentLocalFolders, reduceActivity, reduceCompaction, refusedSpawn, relativeTime, rememberableChain, rememberedDefaultModel, rememberedPick, repoGroups, resetChipWorkForTests, resolveBadgePanel, resolveChipPath, resolveGrouping, resolveSort, rowTurnIds, runsInRemoteSandbox, safeSurrogateSlice, selectEditEvents, sendPrompt, sessionForToken, sessionRefsOf, sessionView, settledResource, shellCommandOf, shortUrl, sidebarContributionsOf, siteOrigin, skillName, skillView, spaceMembership, splitMarkdown, stableSelection, stopForRow, switcherSpaces, tickBucket, toolAction, toolFailed, unsentDraft, urlRefs, useReadable, viewFilterOf, viewFiltersOn, whenChipsSettle, wireAttachmentsToChat, withPinnedProject, withoutPartialFence, writable };
67
+ export { AGENT_GROUPING, CHATS_BUCKET, CHUNK_THRESHOLD, COMMON_EMOJI, DEFAULT_CHAT_LABELS, DEFAULT_COMPOSER_CHROME_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_MODEL_PICKER_PREFS, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, EMPTY_RUN_METER, LIVE_BLOCK_RUN_LINES, MAIN_SESSION_ICON_KEY, MAX_EXTENSION_COMPOSER_BADGES, MAX_ROW_CHIPS, MODEL_PICKER_STORAGE_KEY, NO_PROVIDER_ERROR, NO_SIDEBAR_CONTRIBUTIONS, PINNED_PROJECTS_KEY, PROJECT_GROUP_CAP, PROJECT_ICONS_KEY, REFERENCES_STORAGE_KEY, RELATIVE_TIME_DATE_AFTER_DAYS, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SMOOTH_TICK_MS, SessionStreamStore, VIEW_CHOICE, activityLabel, authFailureDetails, availableProjectsOf, batchThinkingRuns, batchToolRuns, beginChipWork, buildHostSidebarRows, buildQuerySidebarRows, buildSessionRows, buildSidebarRows, caretEffectivelyAtStart, chipForPath, chipWorkBusy, claimChildSessions, classifyInlineCode, clearedViewFilters, clusterByOwner, collapseEvents, commandName, commandRef, commandView, commitModelPick, commitView, compareSessions, composeLiveCost, composeSubmitText, computeSelectStops, constant, conversationBadges, createAuthFixes, createChatBlockRuns, createCompactionProgress, createComposerLists, createDecorator, createDraftScopeStore, createModelKnobs, createModelNames, createModelPickerPrefs, createNotificationStore, createPathResolver, createReferenceStore, createRunEstimates, createRunMeter, createSessionActivity, createSessionBadges, createSessionDirectory, createSessionStreamActions, createSessionStreams, createSidebarViews, createSiteIcons, dateBucket, decodeHistoryEntry, defaultFrameScheduler, defaultModelPatch, deleteSessionPrompt, deriveDotState, dockRunReceipts, dotVariantFor, draftFolderPath, draftLocalFolder, draftScopeOf, drainBucket, effortPickerTarget, encodeHistoryDraft, environmentKindLabel, environmentSummaryText, exitsModeOnKey, extensionSpaceOf, failureTooltip, filterDirectorySessions, filterQueryOf, filterSessions, filtersForSpace, findCommand, findLastStreamingRow, firstGrapheme, firstRowId, foldActionItems, foldExchanges, foldWorkerRows, formatElapsedShort, formatSessionCostLabel, groupsByFolder, hostReachable, hostStatusLabel, inheritRowIdentity, isAuthFixed, isProjectIcon, isProjectMember, itemRows, itemsForSpace, lastModelChainOf, markRunFailures, mergeLiveTail, mergePromptPreviews, mergeSidebarSpaces, missingPreviewData, modeForTypedChar, modelKnobsOf, modelNamesOf, namerFor, nestSidebarRows, nestToolCalls, nestedCallVisible, newSessionRequest, nextSavedViewName, openFenceOf, pairToolEvents, parseBashExitMeta, parseModelPickerPrefs, parsePinnedProjects, parseProjectIcons, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, planAuthCard, projectKeyOf, projectPathOf, promptAttachments, promptDraftOf, promptRefs, readSidebarViews, recentHostFolders, recentLocalFolders, reduceActivity, reduceCompaction, refusedSpawn, relativeTime, rememberableChain, rememberedDefaultModel, rememberedPick, repoGroups, resetChipWorkForTests, resolveBadgePanel, resolveChipPath, resolveGrouping, resolveSort, rowTurnIds, runsInRemoteSandbox, safeSurrogateSlice, secretExpiryWords, secretTimeLeft, secretTimeLeftIso, selectEditEvents, sendPrompt, sessionForToken, sessionRefsOf, sessionView, settledResource, shellCommandOf, shortUrl, sidebarContributionsOf, siteOrigin, skillName, skillView, spaceMembership, splitMarkdown, stableSelection, stopForRow, switcherSpaces, tickBucket, toolAction, toolFailed, unsentDraft, urlRefs, useReadable, viewFilterOf, viewFiltersOn, whenChipsSettle, wireAttachmentsToChat, withPinnedProject, withoutPartialFence, writable };
@@ -1,4 +1,12 @@
1
+ import { SecretTimeLeft } from "./secrets.js";
2
+ import { AuthFailure, SecretTtl } from "zidane/chat/pure";
1
3
  //#region src/chat/headless/labels.d.ts
4
+ /**
5
+ * When a saved secret goes, in words.
6
+ *
7
+ * @param left - The time it has left.
8
+ */
9
+ declare const secretExpiryWords: (left: SecretTimeLeft) => string;
2
10
  /** The default English strings of the chat layer, merged over the design system's labels. Override any of them through {@link ChatProvider}. */
3
11
  declare const DEFAULT_CHAT_LABELS: {
4
12
  today: string;
@@ -42,6 +50,7 @@ declare const DEFAULT_CHAT_LABELS: {
42
50
  estimateDueTitle: string;
43
51
  estimateOver: string;
44
52
  estimateOverTitle: string;
53
+ estimateProblemTitle: (reason: string, message?: string) => string;
45
54
  runningFor: (elapsed: string) => string;
46
55
  agent: string;
47
56
  stepRunning: string;
@@ -70,6 +79,27 @@ declare const DEFAULT_CHAT_LABELS: {
70
79
  continueRun: string;
71
80
  continueHint: string;
72
81
  resetsAt: (time: string) => string;
82
+ authCard: string;
83
+ authHeadline: (auth: AuthFailure, label: string) => string;
84
+ authSignInAgain: string;
85
+ authUseAccount: (account: string) => string;
86
+ authSwitching: (account: string) => string;
87
+ authSettings: string;
88
+ authSettingsHint: string;
89
+ authCopyDetails: string;
90
+ authCopied: string;
91
+ authOpeningBrowser: string;
92
+ authWaiting: string;
93
+ authOpenPage: string;
94
+ authEnterCode: (code: string) => string;
95
+ authPaste: string;
96
+ authPasteSend: string;
97
+ authCancel: string;
98
+ authSignedIn: string;
99
+ authSignedInRetrying: string;
100
+ authFixed: string;
101
+ authTryAgain: string;
102
+ authFailed: (message: string) => string;
73
103
  sessionEventLabel: (title: string, verb: string, needsAttention: boolean) => string;
74
104
  clickToAnswer: string;
75
105
  openSession: string;
@@ -274,6 +304,9 @@ declare const DEFAULT_CHAT_LABELS: {
274
304
  questionCount: (count: number) => string;
275
305
  interactionsLabel: string;
276
306
  inboxEmpty: string;
307
+ inboxNeedsYou: string;
308
+ inboxInProgress: string;
309
+ inboxRecent: string;
277
310
  inboxPreviousSession: string;
278
311
  unsupportedInteraction: (tool: string) => string;
279
312
  planRejectNote: string;
@@ -298,6 +331,19 @@ declare const DEFAULT_CHAT_LABELS: {
298
331
  noAnswer: string;
299
332
  confirmYes: string;
300
333
  confirmNo: string;
334
+ secretValueLabel: string;
335
+ secretValuePlaceholder: string;
336
+ secretTtlLabel: string;
337
+ secretTtlName: (ttl: SecretTtl) => string;
338
+ saveSecurely: string;
339
+ declineSecret: string;
340
+ declineSecretHint: string;
341
+ secretNote: (ttl: SecretTtl) => string;
342
+ secretSaved: (name: string, left: SecretTimeLeft) => string;
343
+ secretSent: (name: string) => string;
344
+ secretDeclined: (name: string) => string;
345
+ secretReused: (name: string) => string;
346
+ openSecrets: string;
301
347
  filterSessions: string;
302
348
  filterView: string;
303
349
  filterStatus: string;
@@ -343,6 +389,13 @@ declare const DEFAULT_CHAT_LABELS: {
343
389
  /** A space's own grouping or sort, among the view's choices. */
344
390
  filterSpaceDefault: string;
345
391
  filterSaveView: string;
392
+ /** Whether a reminder started the session (zidane's schedules). */
393
+ filterOrigin: string;
394
+ filterOrigins: {
395
+ all: string;
396
+ scheduled: string;
397
+ unscheduled: string;
398
+ };
346
399
  hostStatuses: {
347
400
  local: string;
348
401
  connected: string;
@@ -528,4 +581,4 @@ declare const DEFAULT_CHAT_LABELS: {
528
581
  /** The shape of the chat label dictionary: every key of {@link DEFAULT_CHAT_LABELS}. Some values are functions that build a string. */
529
582
  type ChatLabels = typeof DEFAULT_CHAT_LABELS;
530
583
  //#endregion
531
- export { ChatLabels, DEFAULT_CHAT_LABELS };
584
+ export { ChatLabels, DEFAULT_CHAT_LABELS, secretExpiryWords };
@@ -1,12 +1,27 @@
1
1
  import { DEFAULT_LABELS } from "../../labels.js";
2
2
  import { TRANSCRIPT_LABELS } from "./transcript-labels.js";
3
- import { RUN_WAITING_LABEL, runRetryingLabel } from "zidane/chat/pure";
3
+ import { RUN_WAITING_LABEL, authFailureHeadline, runRetryingLabel } from "zidane/chat/pure";
4
4
  //#region src/chat/headless/labels.ts
5
5
  /**
6
6
  * The chat layer's strings, on top of the design system's (`labels.tsx`).
7
7
  * One flat dictionary so an app overrides any of them with one
8
8
  * `<LabelsProvider>`; the headless helpers take it as an argument.
9
9
  */
10
+ /** A count and its unit in words: `1 hour`, `24 hours`, `7 days`. */
11
+ const duration = (count, unit) => `${count} ${unit}${count === 1 ? "" : "s"}`;
12
+ /** Each TTL as the picker names it. */
13
+ const SECRET_TTL_NAMES = {
14
+ "1h": "1 hour",
15
+ "24h": "24 hours",
16
+ "7d": "7 days",
17
+ never: "Until revoked"
18
+ };
19
+ /**
20
+ * When a saved secret goes, in words.
21
+ *
22
+ * @param left - The time it has left.
23
+ */
24
+ const secretExpiryWords = (left) => left.kind === "never" ? "kept until you revoke it" : left.kind === "expired" ? "expired" : `expires in ${duration(left.count, left.unit)}`;
10
25
  /** The default English strings of the chat layer, merged over the design system's labels. Override any of them through {@link ChatProvider}. */
11
26
  const DEFAULT_CHAT_LABELS = {
12
27
  ...DEFAULT_LABELS,
@@ -65,6 +80,7 @@ const DEFAULT_CHAT_LABELS = {
65
80
  estimateDueTitle: "Past its estimate, so it should end soon",
66
81
  estimateOver: "over",
67
82
  estimateOverTitle: "Taking longer than estimated",
83
+ estimateProblemTitle: (reason, message) => `No time estimate: the decision failed (${reason}${message ? `: ${message}` : ""}). Check the decision model in Settings › Agent › Helper models.`,
68
84
  runningFor: (elapsed) => `Running for ${elapsed}`,
69
85
  agent: "Agent",
70
86
  stepRunning: "running",
@@ -97,6 +113,27 @@ const DEFAULT_CHAT_LABELS = {
97
113
  continueRun: "Continue",
98
114
  continueHint: "Ask the model to continue",
99
115
  resetsAt: (time) => `Resets at ${time}`,
116
+ authCard: "Sign-in problem",
117
+ authHeadline: (auth, label) => authFailureHeadline(auth, label),
118
+ authSignInAgain: "Sign in again",
119
+ authUseAccount: (account) => `Use ${account}`,
120
+ authSwitching: (account) => `Switching to ${account}…`,
121
+ authSettings: "Settings",
122
+ authSettingsHint: "Open this account in Settings",
123
+ authCopyDetails: "Copy details",
124
+ authCopied: "Copied",
125
+ authOpeningBrowser: "Opening browser…",
126
+ authWaiting: "Waiting for sign-in",
127
+ authOpenPage: "Open the sign-in page",
128
+ authEnterCode: (code) => `Enter the code ${code}`,
129
+ authPaste: "Paste the code from the page",
130
+ authPasteSend: "Send",
131
+ authCancel: "Cancel",
132
+ authSignedIn: "Signed in",
133
+ authSignedInRetrying: "Signed in · retrying",
134
+ authFixed: "fixed",
135
+ authTryAgain: "Try again",
136
+ authFailed: (message) => `Sign-in failed: ${message}`,
100
137
  sessionEventLabel: (title, verb, needsAttention) => `${title} ${verb}${needsAttention ? ". Click to answer" : ""}`,
101
138
  clickToAnswer: "Answer",
102
139
  openSession: "open →",
@@ -301,6 +338,9 @@ const DEFAULT_CHAT_LABELS = {
301
338
  questionCount: (count) => `${count} questions`,
302
339
  interactionsLabel: "Requests from the agent",
303
340
  inboxEmpty: "Nothing waiting on you",
341
+ inboxNeedsYou: "Needs you",
342
+ inboxInProgress: "In progress",
343
+ inboxRecent: "Recent",
304
344
  inboxPreviousSession: "previous session",
305
345
  unsupportedInteraction: (tool) => `The agent is waiting on ${tool}, which this view cannot answer.`,
306
346
  planRejectNote: "Rejecting stops the run. Add a note so the agent knows why.",
@@ -325,6 +365,19 @@ const DEFAULT_CHAT_LABELS = {
325
365
  noAnswer: "No answer",
326
366
  confirmYes: "yes",
327
367
  confirmNo: "no",
368
+ secretValueLabel: "Secret value",
369
+ secretValuePlaceholder: "Paste the value",
370
+ secretTtlLabel: "Keep for",
371
+ secretTtlName: (ttl) => SECRET_TTL_NAMES[ttl],
372
+ saveSecurely: "Save securely",
373
+ declineSecret: "Decline",
374
+ declineSecretHint: "Answer without giving the value",
375
+ secretNote: (ttl) => ttl === "never" ? "Kept out of chat, in a private file this agent's commands can read until you revoke it" : `Kept out of chat, in a private file this agent's commands can read for ${SECRET_TTL_NAMES[ttl]}`,
376
+ secretSaved: (name, left) => `Saved ${name}, ${secretExpiryWords(left)}`,
377
+ secretSent: (name) => `Saved ${name}`,
378
+ secretDeclined: (name) => `Declined ${name}`,
379
+ secretReused: (name) => `Used saved ${name}`,
380
+ openSecrets: "Open Secrets",
328
381
  filterSessions: "Filter sessions",
329
382
  filterView: "View",
330
383
  filterStatus: "Status",
@@ -370,6 +423,13 @@ const DEFAULT_CHAT_LABELS = {
370
423
  /** A space's own grouping or sort, among the view's choices. */
371
424
  filterSpaceDefault: "Space default",
372
425
  filterSaveView: "Save view as space",
426
+ /** Whether a reminder started the session (zidane's schedules). */
427
+ filterOrigin: "Origin",
428
+ filterOrigins: {
429
+ all: "All",
430
+ scheduled: "Scheduled",
431
+ unscheduled: "Not scheduled"
432
+ },
373
433
  hostStatuses: {
374
434
  local: "connected",
375
435
  connected: "connected",
@@ -408,4 +468,4 @@ const DEFAULT_CHAT_LABELS = {
408
468
  contextCopied: "Copied"
409
469
  };
410
470
  //#endregion
411
- export { DEFAULT_CHAT_LABELS };
471
+ export { DEFAULT_CHAT_LABELS, secretExpiryWords };
@@ -0,0 +1,32 @@
1
+ //#region src/chat/headless/secrets.d.ts
2
+ /**
3
+ * Secret questions on the client side: the time a saved secret has left, for
4
+ * the transcript and the Secrets panel to word (labels). Pure, no React.
5
+ */
6
+ /** How long a saved secret has left. */
7
+ type SecretTimeLeft = {
8
+ kind: 'left';
9
+ count: number;
10
+ unit: 'minute' | 'hour' | 'day';
11
+ } | {
12
+ kind: 'expired';
13
+ } | {
14
+ kind: 'never';
15
+ };
16
+ /**
17
+ * The time left until `expiresAt`, rounded to the unit a person reads: minutes under an hour, hours under two
18
+ * days, then days.
19
+ *
20
+ * @param expiresAt - Expiry in Unix ms, `null` when it stays until revoked.
21
+ * @param now - The current time, in Unix ms.
22
+ */
23
+ declare function secretTimeLeft(expiresAt: number | null, now: number): SecretTimeLeft;
24
+ /**
25
+ * {@link secretTimeLeft} for an ISO expiry, as a `SecretReference` carries it.
26
+ *
27
+ * @param expiresAt - ISO expiry, `null` when it stays until revoked.
28
+ * @param now - The current time, in Unix ms.
29
+ */
30
+ declare function secretTimeLeftIso(expiresAt: string | null, now: number): SecretTimeLeft;
31
+ //#endregion
32
+ export { SecretTimeLeft, secretTimeLeft, secretTimeLeftIso };
@@ -0,0 +1,43 @@
1
+ //#region src/chat/headless/secrets.ts
2
+ const MINUTE = 6e4;
3
+ const HOUR = 60 * MINUTE;
4
+ /**
5
+ * The time left until `expiresAt`, rounded to the unit a person reads: minutes under an hour, hours under two
6
+ * days, then days.
7
+ *
8
+ * @param expiresAt - Expiry in Unix ms, `null` when it stays until revoked.
9
+ * @param now - The current time, in Unix ms.
10
+ */
11
+ function secretTimeLeft(expiresAt, now) {
12
+ if (expiresAt === null) return { kind: "never" };
13
+ const ms = expiresAt - now;
14
+ if (ms <= 0) return { kind: "expired" };
15
+ if (ms < HOUR) return {
16
+ kind: "left",
17
+ count: Math.max(1, Math.ceil(ms / MINUTE)),
18
+ unit: "minute"
19
+ };
20
+ if (ms < 48 * HOUR) return {
21
+ kind: "left",
22
+ count: Math.round(ms / HOUR),
23
+ unit: "hour"
24
+ };
25
+ return {
26
+ kind: "left",
27
+ count: Math.round(ms / (24 * HOUR)),
28
+ unit: "day"
29
+ };
30
+ }
31
+ /**
32
+ * {@link secretTimeLeft} for an ISO expiry, as a `SecretReference` carries it.
33
+ *
34
+ * @param expiresAt - ISO expiry, `null` when it stays until revoked.
35
+ * @param now - The current time, in Unix ms.
36
+ */
37
+ function secretTimeLeftIso(expiresAt, now) {
38
+ if (expiresAt === null) return { kind: "never" };
39
+ const at = Date.parse(expiresAt);
40
+ return Number.isNaN(at) ? { kind: "never" } : secretTimeLeft(at, now);
41
+ }
42
+ //#endregion
43
+ export { secretTimeLeft, secretTimeLeftIso };
@@ -1,3 +1,4 @@
1
+ import { SecretTimeLeft } from "./secrets.js";
1
2
  import { ChatLabels } from "./labels.js";
2
3
  //#region src/chat/headless/session-list.d.ts
3
4
  /** The minimal session shape the list model needs. {@link ChatSession} satisfies it. */
@@ -152,6 +153,7 @@ declare function dateBucket(at: number, now: number, labels?: {
152
153
  estimateDueTitle: string;
153
154
  estimateOver: string;
154
155
  estimateOverTitle: string;
156
+ estimateProblemTitle: (reason: string, message?: string) => string;
155
157
  runningFor: (elapsed: string) => string;
156
158
  agent: string;
157
159
  stepRunning: string;
@@ -180,6 +182,27 @@ declare function dateBucket(at: number, now: number, labels?: {
180
182
  continueRun: string;
181
183
  continueHint: string;
182
184
  resetsAt: (time: string) => string;
185
+ authCard: string;
186
+ authHeadline: (auth: import("zidane/chat/pure").AuthFailure, label: string) => string;
187
+ authSignInAgain: string;
188
+ authUseAccount: (account: string) => string;
189
+ authSwitching: (account: string) => string;
190
+ authSettings: string;
191
+ authSettingsHint: string;
192
+ authCopyDetails: string;
193
+ authCopied: string;
194
+ authOpeningBrowser: string;
195
+ authWaiting: string;
196
+ authOpenPage: string;
197
+ authEnterCode: (code: string) => string;
198
+ authPaste: string;
199
+ authPasteSend: string;
200
+ authCancel: string;
201
+ authSignedIn: string;
202
+ authSignedInRetrying: string;
203
+ authFixed: string;
204
+ authTryAgain: string;
205
+ authFailed: (message: string) => string;
183
206
  sessionEventLabel: (title: string, verb: string, needsAttention: boolean) => string;
184
207
  clickToAnswer: string;
185
208
  openSession: string;
@@ -361,6 +384,9 @@ declare function dateBucket(at: number, now: number, labels?: {
361
384
  questionCount: (count: number) => string;
362
385
  interactionsLabel: string;
363
386
  inboxEmpty: string;
387
+ inboxNeedsYou: string;
388
+ inboxInProgress: string;
389
+ inboxRecent: string;
364
390
  inboxPreviousSession: string;
365
391
  unsupportedInteraction: (tool: string) => string;
366
392
  planRejectNote: string;
@@ -385,6 +411,19 @@ declare function dateBucket(at: number, now: number, labels?: {
385
411
  noAnswer: string;
386
412
  confirmYes: string;
387
413
  confirmNo: string;
414
+ secretValueLabel: string;
415
+ secretValuePlaceholder: string;
416
+ secretTtlLabel: string;
417
+ secretTtlName: (ttl: import("zidane/chat/pure").SecretTtl) => string;
418
+ saveSecurely: string;
419
+ declineSecret: string;
420
+ declineSecretHint: string;
421
+ secretNote: (ttl: import("zidane/chat/pure").SecretTtl) => string;
422
+ secretSaved: (name: string, left: SecretTimeLeft) => string;
423
+ secretSent: (name: string) => string;
424
+ secretDeclined: (name: string) => string;
425
+ secretReused: (name: string) => string;
426
+ openSecrets: string;
388
427
  filterSessions: string;
389
428
  filterView: string;
390
429
  filterStatus: string;
@@ -427,6 +466,12 @@ declare function dateBucket(at: number, now: number, labels?: {
427
466
  filterPicked: (count: number) => string;
428
467
  filterSpaceDefault: string;
429
468
  filterSaveView: string;
469
+ filterOrigin: string;
470
+ filterOrigins: {
471
+ all: string;
472
+ scheduled: string;
473
+ unscheduled: string;
474
+ };
430
475
  hostStatuses: {
431
476
  local: string;
432
477
  connected: string;
@@ -1,4 +1,16 @@
1
+ import { estimateViewAt } from "zidane/chat/pure";
1
2
  //#region src/chat/headless/sidebar/estimates.ts
3
+ /**
4
+ * How long each session's runs have left (`Settings.runEstimates`), outside
5
+ * React: the session's own run and its subagents', as the host estimated
6
+ * them ({@link createRunEstimates}). Fed from the app's stream signals
7
+ * (`run:estimate`, cleared on `run:start` / `run:end`) and from session rows
8
+ * (`runEstimates`, the saved run records), so a window opened mid-run counts
9
+ * down from the same point as the one that saw the estimate arrive.
10
+ *
11
+ * The store holds the estimates, not the countdown: a reader computes what
12
+ * an estimate says now with `estimateReadout` (`zidane/chat/pure`).
13
+ */
2
14
  const NONE = [];
3
15
  /**
4
16
  * The estimate a row shows: the session's own run (`depth` 0), or the
@@ -47,7 +59,7 @@ function createRunEstimates(options) {
47
59
  sessions.set(sessionId, runs);
48
60
  }
49
61
  const held = runs.get(view.runId);
50
- if (held && !live && held.at >= view.at) return false;
62
+ if (held && !live && estimateViewAt(held) >= estimateViewAt(view)) return false;
51
63
  runs.set(view.runId, view);
52
64
  return true;
53
65
  };
@@ -1,5 +1,5 @@
1
1
  import { SessionNotification, SessionNotificationStore, createNotificationStore } from "./notifications.js";
2
- import { SessionActivityFilter, SessionArchiveFilter, SidebarExtensionView, SidebarGroupBy, SidebarListSession, SidebarSortBy, SidebarView, VIEW_CHOICE } from "./types.js";
2
+ import { SessionActivityFilter, SessionArchiveFilter, SidebarExtensionView, SidebarGroupBy, SidebarListSession, SidebarOrigin, SidebarSortBy, SidebarView, VIEW_CHOICE } from "./types.js";
3
3
  import { DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SidebarLastSessions, SidebarViewMap, SidebarViewRecord, SidebarViews, SidebarViewsHost, SidebarViewsOptions, SidebarViewsStorage, SpaceSwitcherPrefs, createSidebarViews, parseSidebarView, parseSwitcherPrefs, readSidebarViews } from "./view.js";
4
4
  import { AGENT_GROUPING, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, SidebarContributionStores, SidebarContributions, SidebarGrouping, SidebarItemEntry, SidebarQueryLayer, SidebarRowChip, SidebarRowDecoration, SidebarSpace, claimChildSessions, clearedViewFilters, createDecorator, extensionSpaceOf, filterQueryOf, filtersForSpace, itemsForSpace, mergeSidebarSpaces, nextSavedViewName, resolveGrouping, resolveSort, sidebarContributionsOf, spaceMembership, switcherSpaces, viewFilterOf, viewFiltersOn } from "./query.js";
5
5
  import { DirectoryServer, DirectorySettings, ProjectInSpace, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, SessionRef, SessionRemoval, availableProjectsOf, createSessionDirectory, filterDirectorySessions, projectKeyOf, sessionRefsOf } from "./directory.js";
@@ -15,4 +15,4 @@ import { RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, createRunEstima
15
15
  import { CompactionProgress, CompactionProgressStore, CompactionSignal, createCompactionProgress, reduceCompaction } from "./compaction.js";
16
16
  import { DotStateInput, SidebarDotState, deriveDotState } from "./dot-state.js";
17
17
  import { deleteSessionPrompt, environmentKindLabel, environmentSummaryText, runsInRemoteSandbox } from "./environment.js";
18
- export { AGENT_GROUPING, BuildQuerySidebarRowsOptions, BuildSidebarRowsOptions, CHATS_BUCKET, COMMON_EMOJI, CompactionProgress, CompactionProgressStore, CompactionSignal, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, DirectoryServer, DirectorySettings, DotStateInput, MAIN_SESSION_ICON_KEY, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, PINNED_PROJECTS_KEY, PROJECT_ICONS_KEY, PinsBySpace, ProjectIcon, ProjectIconMap, ProjectInSpace, RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SessionActivity, SessionActivityFilter, SessionActivitySignal, SessionActivityStore, SessionArchiveFilter, SessionBadgesEntry, SessionBadgesSource, SessionBadgesStore, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, SessionNotification, SessionNotificationStore, SessionRef, SessionRemoval, SessionWindowMode, SidebarContributionStores, SidebarContributions, SidebarDotState, SidebarEnvironmentHost, SidebarExtensionView, SidebarGroupBy, SidebarGrouping, SidebarHost, SidebarItemEntry, SidebarLabels, SidebarLastSessions, SidebarListRow, SidebarListSession, SidebarNode, SidebarQueryLayer, SidebarRowChip, SidebarRowDecoration, SidebarSortBy, SidebarSpace, SidebarView, SidebarViewMap, SidebarViewRecord, SidebarViews, SidebarViewsHost, SidebarViewsOptions, SidebarViewsStorage, SpaceSwitcherPrefs, VIEW_CHOICE, activityLabel, availableProjectsOf, buildHostSidebarRows, buildQuerySidebarRows, buildSidebarRows, claimChildSessions, clearedViewFilters, createCompactionProgress, createDecorator, createNotificationStore, createRunEstimates, createSessionActivity, createSessionBadges, createSessionDirectory, createSidebarViews, deleteSessionPrompt, deriveDotState, environmentKindLabel, environmentSummaryText, extensionSpaceOf, filterDirectorySessions, filterQueryOf, filtersForSpace, firstGrapheme, groupsByFolder, isProjectIcon, isProjectMember, itemRows, itemsForSpace, mergeSidebarSpaces, nestSidebarRows, nextSavedViewName, parsePinnedProjects, parseProjectIcons, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, projectKeyOf, projectPathOf, readSidebarViews, reduceActivity, reduceCompaction, repoGroups, resolveGrouping, resolveSort, runsInRemoteSandbox, sessionRefsOf, sidebarContributionsOf, spaceMembership, switcherSpaces, viewFilterOf, viewFiltersOn, withPinnedProject };
18
+ export { AGENT_GROUPING, BuildQuerySidebarRowsOptions, BuildSidebarRowsOptions, CHATS_BUCKET, COMMON_EMOJI, CompactionProgress, CompactionProgressStore, CompactionSignal, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, DirectoryServer, DirectorySettings, DotStateInput, MAIN_SESSION_ICON_KEY, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, PINNED_PROJECTS_KEY, PROJECT_ICONS_KEY, PinsBySpace, ProjectIcon, ProjectIconMap, ProjectInSpace, RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SessionActivity, SessionActivityFilter, SessionActivitySignal, SessionActivityStore, SessionArchiveFilter, SessionBadgesEntry, SessionBadgesSource, SessionBadgesStore, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, SessionNotification, SessionNotificationStore, SessionRef, SessionRemoval, SessionWindowMode, SidebarContributionStores, SidebarContributions, SidebarDotState, SidebarEnvironmentHost, SidebarExtensionView, SidebarGroupBy, SidebarGrouping, SidebarHost, SidebarItemEntry, SidebarLabels, SidebarLastSessions, SidebarListRow, SidebarListSession, SidebarNode, SidebarOrigin, SidebarQueryLayer, SidebarRowChip, SidebarRowDecoration, SidebarSortBy, SidebarSpace, SidebarView, SidebarViewMap, SidebarViewRecord, SidebarViews, SidebarViewsHost, SidebarViewsOptions, SidebarViewsStorage, SpaceSwitcherPrefs, VIEW_CHOICE, activityLabel, availableProjectsOf, buildHostSidebarRows, buildQuerySidebarRows, buildSidebarRows, claimChildSessions, clearedViewFilters, createCompactionProgress, createDecorator, createNotificationStore, createRunEstimates, createSessionActivity, createSessionBadges, createSessionDirectory, createSidebarViews, deleteSessionPrompt, deriveDotState, environmentKindLabel, environmentSummaryText, extensionSpaceOf, filterDirectorySessions, filterQueryOf, filtersForSpace, firstGrapheme, groupsByFolder, isProjectIcon, isProjectMember, itemRows, itemsForSpace, mergeSidebarSpaces, nestSidebarRows, nextSavedViewName, parsePinnedProjects, parseProjectIcons, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, projectKeyOf, projectPathOf, readSidebarViews, reduceActivity, reduceCompaction, repoGroups, resolveGrouping, resolveSort, runsInRemoteSandbox, sessionRefsOf, sidebarContributionsOf, spaceMembership, switcherSpaces, viewFilterOf, viewFiltersOn, withPinnedProject };
@@ -1,7 +1,7 @@
1
1
  import { createRunEstimates, pickRunEstimate } from "./estimates.js";
2
- import { pinSession, pinnedSessions } from "./pinned-sessions.js";
3
2
  import { COMMON_EMOJI, MAIN_SESSION_ICON_KEY, PROJECT_ICONS_KEY, firstGrapheme, isProjectIcon, parseProjectIcons } from "./project-icons.js";
4
3
  import { DEFAULT_SIDEBAR_LABELS } from "./labels.js";
4
+ import { pinSession, pinnedSessions } from "./pinned-sessions.js";
5
5
  import { VIEW_CHOICE } from "./types.js";
6
6
  import { CHATS_BUCKET, buildHostSidebarRows, buildQuerySidebarRows, buildSidebarRows, groupsByFolder, isProjectMember, itemRows, nestSidebarRows, partitionMainSession, projectPathOf, repoGroups } from "./rows.js";
7
7
  import { PINNED_PROJECTS_KEY, parsePinnedProjects, withPinnedProject } from "./pinned-projects.js";