zidane-ui 9.1.13 → 9.1.14

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 (309) hide show
  1. package/dist/adapters/index.d.ts +2 -2
  2. package/dist/adapters/index.js +2 -2
  3. package/dist/adapters/live.d.ts +29 -3
  4. package/dist/adapters/live.js +9 -1
  5. package/dist/adapters/server-composer-host.js +17 -2
  6. package/dist/adapters/server-extensions-host.d.ts +0 -1
  7. package/dist/adapters/server-extensions-host.js +5 -16
  8. package/dist/adapters/server-git-host.js +7 -16
  9. package/dist/adapters/server-host.js +181 -43
  10. package/dist/adapters/server-machines-host.d.ts +2 -0
  11. package/dist/adapters/server-machines-host.js +24 -25
  12. package/dist/adapters/server-onboarding-host.d.ts +1 -1
  13. package/dist/adapters/server-onboarding-host.js +3 -4
  14. package/dist/adapters/server-session-host.js +22 -3
  15. package/dist/adapters/server-settings-accounts.js +2 -2
  16. package/dist/adapters/server-settings-host.js +3 -3
  17. package/dist/adapters/server-settings-performance.js +7 -9
  18. package/dist/adapters/server-settings-sections.js +13 -14
  19. package/dist/adapters/server-sidebar-host.js +2 -2
  20. package/dist/adapters/sse-host.js +68 -3
  21. package/dist/adapters/sse-protocol.d.ts +12 -2
  22. package/dist/adapters/sse-protocol.js +4 -2
  23. package/dist/app/AppHostProvider.js +4 -3
  24. package/dist/app/ModalProvider.d.ts +13 -3
  25. package/dist/app/ModalProvider.js +103 -24
  26. package/dist/app/NoticeStack.d.ts +33 -0
  27. package/dist/app/NoticeStack.js +90 -0
  28. package/dist/app/index.d.ts +3 -2
  29. package/dist/app/index.js +3 -2
  30. package/dist/appearance/AppearanceProvider.js +2 -2
  31. package/dist/appearance/headless/index.js +1 -1
  32. package/dist/approvals/headless/index.js +2 -2
  33. package/dist/chat/SessionFilterMenu.d.ts +1 -1
  34. package/dist/chat/SessionFilterMenu.js +2 -1
  35. package/dist/chat/Transcript.js +1 -1
  36. package/dist/chat/composer/Composer.js +9 -6
  37. package/dist/chat/composer/ComposerEditor.js +1 -1
  38. package/dist/chat/composer/ConversationBadges.js +1 -1
  39. package/dist/chat/composer/ModelChainList.js +17 -8
  40. package/dist/chat/composer/ModelChainTooltip.js +5 -2
  41. package/dist/chat/composer/use-composer-stores.js +1 -1
  42. package/dist/chat/composer/use-draft-target.d.ts +20 -1
  43. package/dist/chat/composer/use-draft-target.js +122 -6
  44. package/dist/chat/composer/use-new-session-defaults.d.ts +5 -1
  45. package/dist/chat/composer/use-new-session-defaults.js +17 -4
  46. package/dist/chat/composer/use-run-meter.js +1 -1
  47. package/dist/chat/composer/use-send-prompt.js +1 -1
  48. package/dist/chat/headless/chip-labels.d.ts +1 -0
  49. package/dist/chat/headless/chip-labels.js +1 -0
  50. package/dist/chat/headless/composer/index.js +2 -2
  51. package/dist/chat/headless/draft-target.d.ts +21 -1
  52. package/dist/chat/headless/fixture-host.js +17 -2
  53. package/dist/chat/headless/host.d.ts +3 -3
  54. package/dist/chat/headless/index.d.ts +9 -9
  55. package/dist/chat/headless/index.js +15 -15
  56. package/dist/chat/headless/labels.d.ts +13 -4
  57. package/dist/chat/headless/labels.js +8 -5
  58. package/dist/chat/headless/session-list.d.ts +20 -6
  59. package/dist/chat/headless/session-list.js +1 -0
  60. package/dist/chat/headless/sidebar/directory.d.ts +56 -14
  61. package/dist/chat/headless/sidebar/directory.js +149 -70
  62. package/dist/chat/headless/sidebar/index.d.ts +3 -3
  63. package/dist/chat/headless/sidebar/index.js +3 -3
  64. package/dist/chat/headless/sidebar/labels.d.ts +15 -6
  65. package/dist/chat/headless/sidebar/types.d.ts +3 -1
  66. package/dist/chat/headless/sidebar/view.d.ts +13 -5
  67. package/dist/chat/headless/sidebar/view.js +31 -11
  68. package/dist/chat/headless/streams/actions.d.ts +5 -3
  69. package/dist/chat/headless/streams/actions.js +3 -2
  70. package/dist/chat/headless/streams/index.d.ts +3 -3
  71. package/dist/chat/headless/streams/merge.d.ts +6 -10
  72. package/dist/chat/headless/streams/merge.js +7 -21
  73. package/dist/chat/headless/streams/session-streams.d.ts +29 -4
  74. package/dist/chat/headless/streams/session-streams.js +86 -0
  75. package/dist/chat/headless/streams/store.d.ts +162 -16
  76. package/dist/chat/headless/streams/store.js +334 -38
  77. package/dist/chat/headless/streams/types.d.ts +10 -7
  78. package/dist/chat/headless/transcript-labels.d.ts +1 -0
  79. package/dist/chat/interactions/PlanCard.js +10 -3
  80. package/dist/chat/interactions/QuestionForm.js +7 -3
  81. package/dist/chat/interactions/card-ui.d.ts +5 -3
  82. package/dist/chat/interactions/card-ui.js +9 -7
  83. package/dist/chat/sidebar/SessionSidebar.js +5 -5
  84. package/dist/chat/sidebar/SidebarFilterMenu.js +3 -1
  85. package/dist/chat/sidebar/SidebarFrame.d.ts +4 -0
  86. package/dist/chat/sidebar/SidebarFrame.js +27 -9
  87. package/dist/chat/sidebar/SidebarGroupHeader.js +1 -1
  88. package/dist/chat/sidebar/SidebarHostProvider.d.ts +8 -5
  89. package/dist/chat/sidebar/SidebarHostProvider.js +13 -9
  90. package/dist/chat/sidebar/SidebarToggleButton.js +7 -3
  91. package/dist/chat/sidebar/index.d.ts +2 -2
  92. package/dist/chat/sidebar/session-menu.js +4 -4
  93. package/dist/chat/sidebar/useSaveViewAsSpace.js +2 -2
  94. package/dist/chat/testing/contract.js +2 -2
  95. package/dist/chat/transcript/AuthFailureCard.js +11 -8
  96. package/dist/chat/transcript/BadgeMenu.js +13 -2
  97. package/dist/chat/transcript/MermaidDiagram.js +7 -3
  98. package/dist/chat/transcript/fold.d.ts +4 -0
  99. package/dist/chat/transcript/fold.js +53 -22
  100. package/dist/chat/transcript/script-input.d.ts +1 -1
  101. package/dist/chat/transcript/shell-block.js +8 -4
  102. package/dist/chat/transcript/useStickToBottom.js +12 -0
  103. package/dist/components/BrowserSignIn.js +23 -21
  104. package/dist/components/Form.d.ts +6 -4
  105. package/dist/components/Form.js +16 -8
  106. package/dist/components/LoadError.d.ts +4 -2
  107. package/dist/components/LoadError.js +13 -9
  108. package/dist/components/Notice.d.ts +29 -0
  109. package/dist/components/Notice.js +63 -0
  110. package/dist/components/PanelEmpty.d.ts +1 -1
  111. package/dist/components/PanelEmpty.js +4 -2
  112. package/dist/components/Restricted.d.ts +1 -1
  113. package/dist/components/palette/PaletteList.js +8 -1
  114. package/dist/components/palette/PalettePanel.js +14 -6
  115. package/dist/core.css +24 -5
  116. package/dist/dist/{index-Bq87OcGy.d.ts → index-C6rzc-tt.d.ts} +28 -3
  117. package/dist/dist/index.d.ts +2 -2
  118. package/dist/dist/{timeout-B5pO5I5a.d.ts → timeout-Cz9dRF8Q.d.ts} +1 -1
  119. package/dist/extensions/ExtensionSettingsPage.js +2 -5
  120. package/dist/extensions/ExtensionSettingsSection.js +5 -4
  121. package/dist/extensions/ExtensionSettingsSidebar.js +3 -7
  122. package/dist/extensions/SettingsWireForm.d.ts +1 -7
  123. package/dist/extensions/SettingsWireForm.js +7 -5
  124. package/dist/extensions/headless/fixture-host.d.ts +1 -5
  125. package/dist/extensions/headless/fixture-host.js +2 -5
  126. package/dist/extensions/headless/host.d.ts +1 -11
  127. package/dist/extensions/headless/index.d.ts +3 -3
  128. package/dist/extensions/headless/index.js +6 -6
  129. package/dist/extensions/headless/select.d.ts +1 -11
  130. package/dist/extensions/headless/select.js +1 -18
  131. package/dist/extensions/hooks.js +1 -1
  132. package/dist/files/EditorColumn.js +13 -2
  133. package/dist/files/MediaDiff.js +1 -1
  134. package/dist/files/TreeColumn.js +13 -20
  135. package/dist/files/useEntryActions.js +1 -1
  136. package/dist/files/useOpenFiles.js +3 -1
  137. package/dist/git/BranchMenu.js +6 -4
  138. package/dist/git/ImportRepoDialog.js +18 -9
  139. package/dist/git/MoveSessionDialog.js +16 -8
  140. package/dist/git/RemoteFolderPicker.js +35 -17
  141. package/dist/git/SyncChip.js +17 -17
  142. package/dist/git/WherePicker.d.ts +16 -1
  143. package/dist/git/WherePicker.js +81 -37
  144. package/dist/git/headless/environment.d.ts +33 -3
  145. package/dist/git/headless/environment.js +33 -5
  146. package/dist/git/headless/index.d.ts +2 -2
  147. package/dist/git/headless/index.js +2 -2
  148. package/dist/git/headless/labels.d.ts +15 -2
  149. package/dist/git/headless/labels.js +17 -4
  150. package/dist/git/useEnvironmentChoices.d.ts +3 -1
  151. package/dist/git/useEnvironmentChoices.js +7 -4
  152. package/dist/index.d.ts +2 -1
  153. package/dist/index.js +2 -1
  154. package/dist/keybindings/KeyCommands.js +1 -1
  155. package/dist/keybindings/KeybindingsProvider.js +1 -1
  156. package/dist/keybindings/headless/index.js +2 -2
  157. package/dist/keybindings/headless/overrides.js +1 -1
  158. package/dist/labels.d.ts +5 -0
  159. package/dist/labels.js +5 -0
  160. package/dist/machines/AddMachineDialog.d.ts +34 -0
  161. package/dist/machines/AddMachineDialog.js +464 -0
  162. package/dist/machines/Banners.d.ts +33 -4
  163. package/dist/machines/Banners.js +64 -3
  164. package/dist/machines/DaemonMenu.js +27 -4
  165. package/dist/machines/HostCapabilities.d.ts +1 -3
  166. package/dist/machines/HostCapabilities.js +24 -45
  167. package/dist/machines/HostSyncPanel.js +124 -130
  168. package/dist/machines/HostsSection.d.ts +4 -1
  169. package/dist/machines/HostsSection.js +30 -7
  170. package/dist/machines/MachinesExplainer.d.ts +17 -0
  171. package/dist/machines/MachinesExplainer.js +71 -0
  172. package/dist/machines/MachinesProvider.d.ts +14 -2
  173. package/dist/machines/MachinesProvider.js +35 -1
  174. package/dist/machines/ServerAddedCard.d.ts +31 -0
  175. package/dist/machines/ServerAddedCard.js +72 -0
  176. package/dist/machines/ServerCard.js +91 -215
  177. package/dist/machines/ServerMachinesPanel.d.ts +2 -2
  178. package/dist/machines/ServerMachinesPanel.js +184 -323
  179. package/dist/machines/ServerUpdatePanel.js +51 -40
  180. package/dist/machines/ShareThisComputerForm.d.ts +19 -0
  181. package/dist/machines/ShareThisComputerForm.js +133 -0
  182. package/dist/machines/SyncOutcomeBadge.js +1 -1
  183. package/dist/machines/TokensPanel.d.ts +5 -3
  184. package/dist/machines/TokensPanel.js +98 -78
  185. package/dist/machines/headless/fixture-host.d.ts +19 -3
  186. package/dist/machines/headless/fixture-host.js +43 -6
  187. package/dist/machines/headless/fixtures.js +4 -6
  188. package/dist/machines/headless/host.d.ts +40 -19
  189. package/dist/machines/headless/index.d.ts +3 -3
  190. package/dist/machines/headless/index.js +3 -3
  191. package/dist/machines/headless/labels.d.ts +63 -20
  192. package/dist/machines/headless/labels.js +88 -25
  193. package/dist/machines/headless/messages.js +8 -0
  194. package/dist/machines/headless/stores.d.ts +9 -2
  195. package/dist/machines/headless/stores.js +28 -1
  196. package/dist/machines/index.d.ts +7 -3
  197. package/dist/machines/index.js +8 -4
  198. package/dist/machines/testing/contract.d.ts +15 -3
  199. package/dist/machines/testing/contract.js +68 -14
  200. package/dist/motion/grow.d.ts +8 -1
  201. package/dist/motion/grow.js +10 -4
  202. package/dist/onboarding/headless/labels.d.ts +13 -0
  203. package/dist/onboarding/headless/labels.js +8 -0
  204. package/dist/onboarding/sources/SourceBrowser.js +11 -7
  205. package/dist/onboarding/steps/ImportStep.js +4 -1
  206. package/dist/onboarding/steps/ReadyStep.js +9 -2
  207. package/dist/onboarding/steps/connect/KeyForm.js +6 -2
  208. package/dist/onboarding/steps/connect/ProviderPanel.js +6 -2
  209. package/dist/onboarding/steps/connect/ProviderReady.js +25 -20
  210. package/dist/onboarding/steps/tasks.js +17 -14
  211. package/dist/palette/app-sources.js +1 -1
  212. package/dist/server/sse-handler.js +141 -19
  213. package/dist/session/ArtifactsPanel.js +40 -18
  214. package/dist/session/PlanTracker.js +13 -8
  215. package/dist/session/ProjectHome.js +13 -11
  216. package/dist/session/RemindersPanel.js +35 -17
  217. package/dist/session/RunningWorkDialog.js +6 -2
  218. package/dist/session/SecretsPanel.js +29 -10
  219. package/dist/session/SessionDetailsDialog.d.ts +1 -1
  220. package/dist/session/SessionDetailsDialog.js +18 -10
  221. package/dist/session/SideChat.js +10 -7
  222. package/dist/session/TurnDetailsDialog.js +19 -5
  223. package/dist/session/UsagePanel.js +10 -4
  224. package/dist/session/headless/host.d.ts +2 -0
  225. package/dist/session/headless/index.js +2 -2
  226. package/dist/session/headless/labels.d.ts +19 -1
  227. package/dist/session/headless/labels.js +15 -1
  228. package/dist/session/headless/queue.js +2 -1
  229. package/dist/session/headless/reminder-labels.d.ts +4 -0
  230. package/dist/session/headless/reminder-labels.js +4 -0
  231. package/dist/settings/SettingsRestricted.d.ts +1 -1
  232. package/dist/settings/SettingsRestricted.js +4 -4
  233. package/dist/settings/SettingsShell.d.ts +7 -0
  234. package/dist/settings/SettingsShell.js +6 -1
  235. package/dist/settings/headless/fixture-performance.d.ts +1 -1
  236. package/dist/settings/headless/host.d.ts +2 -2
  237. package/dist/settings/headless/index.js +1 -1
  238. package/dist/settings/headless/labels.d.ts +3 -3
  239. package/dist/settings/headless/labels.js +3 -3
  240. package/dist/settings/headless/performance.d.ts +3 -4
  241. package/dist/settings/headless/search.d.ts +1 -1
  242. package/dist/settings/index.d.ts +2 -1
  243. package/dist/settings/index.js +2 -1
  244. package/dist/settings/sections/appearance/AppearanceSection.js +2 -2
  245. package/dist/settings/sections/claude-import/ClaudeImportDialog.js +1 -1
  246. package/dist/settings/sections/editor/EditorSection.js +8 -5
  247. package/dist/settings/sections/editor/labels.d.ts +1 -0
  248. package/dist/settings/sections/editor/labels.js +1 -0
  249. package/dist/settings/sections/environments/EnvironmentsSection.js +21 -14
  250. package/dist/settings/sections/environments/labels.d.ts +1 -0
  251. package/dist/settings/sections/environments/labels.js +2 -1
  252. package/dist/settings/sections/extensions/ChangeOriginDialog.js +1 -1
  253. package/dist/settings/sections/extensions/CreateExtensionDialog.js +1 -1
  254. package/dist/settings/sections/extensions/ExtensionConfigRows.d.ts +1 -3
  255. package/dist/settings/sections/extensions/ExtensionConfigRows.js +20 -19
  256. package/dist/settings/sections/extensions/ExtensionOptionsSection.js +2 -1
  257. package/dist/settings/sections/extensions/ExtensionsSection.js +1 -1
  258. package/dist/settings/sections/extensions/options-labels.d.ts +2 -1
  259. package/dist/settings/sections/extensions/options-labels.js +2 -1
  260. package/dist/settings/sections/host-catalog/HostCatalogSection.js +1 -1
  261. package/dist/settings/sections/index.d.ts +2 -1
  262. package/dist/settings/sections/index.js +2 -1
  263. package/dist/settings/sections/instructions/InstructionsSection.js +1 -1
  264. package/dist/settings/sections/logs/LogsSection.d.ts +2 -2
  265. package/dist/settings/sections/logs/LogsSection.js +2 -2
  266. package/dist/settings/sections/mcp/McpSection.d.ts +1 -1
  267. package/dist/settings/sections/mcp/McpSection.js +13 -7
  268. package/dist/settings/sections/mcp/McpServerRow.js +21 -14
  269. package/dist/settings/sections/mcp/labels.d.ts +8 -2
  270. package/dist/settings/sections/mcp/labels.js +8 -2
  271. package/dist/settings/sections/models/ModelRows.js +1 -1
  272. package/dist/settings/sections/models/NewChatPlaceRow.d.ts +26 -0
  273. package/dist/settings/sections/models/NewChatPlaceRow.js +78 -0
  274. package/dist/settings/sections/models/SpacesDefaultsSection.js +15 -3
  275. package/dist/settings/sections/models/labels.d.ts +7 -0
  276. package/dist/settings/sections/models/labels.js +7 -0
  277. package/dist/settings/sections/models/model-test.js +7 -4
  278. package/dist/settings/sections/performance/PerformanceSection.js +16 -6
  279. package/dist/settings/sections/performance/labels.d.ts +1 -1
  280. package/dist/settings/sections/performance/labels.js +1 -1
  281. package/dist/settings/sections/providers/ProvidersSection.d.ts +1 -1
  282. package/dist/settings/sections/providers/ProvidersSection.js +15 -8
  283. package/dist/settings/sections/providers/ServerProvidersSection.d.ts +1 -1
  284. package/dist/settings/sections/providers/ServerProvidersSection.js +12 -6
  285. package/dist/settings/sections/providers/labels.d.ts +2 -2
  286. package/dist/settings/sections/providers/labels.js +2 -2
  287. package/dist/settings/sections/shared/catalog.js +1 -1
  288. package/dist/settings/sections/skills/SkillsSection.js +1 -1
  289. package/dist/settings/testing/performance.contract.js +8 -12
  290. package/dist/styles.css +32 -3
  291. package/dist/terminal/HostTerminalSurface.js +17 -7
  292. package/dist/terminal/TerminalPanel.js +30 -17
  293. package/dist/terminal/TerminalSurface.js +11 -4
  294. package/dist/terminal/headless/labels.d.ts +5 -0
  295. package/dist/terminal/headless/labels.js +5 -0
  296. package/dist/terminal/headless/store.d.ts +1 -1
  297. package/dist/terminal/headless/store.js +6 -3
  298. package/dist/workspace/LayoutBudget.d.ts +5 -1
  299. package/dist/workspace/LayoutBudget.js +14 -1
  300. package/dist/workspace/PanelContentView.d.ts +1 -1
  301. package/dist/workspace/PanelContentView.js +17 -6
  302. package/dist/workspace/WorkspaceProvider.js +4 -3
  303. package/dist/workspace/extension-tabs.js +1 -1
  304. package/dist/workspace/headless/index.js +1 -1
  305. package/dist/workspace/headless/labels.d.ts +1 -0
  306. package/dist/workspace/headless/labels.js +1 -0
  307. package/package.json +3 -3
  308. package/src/styles/motion.css +8 -0
  309. package/src/styles/primitives.css +7 -0
@@ -19,6 +19,8 @@ declare const REMINDER_LABELS: {
19
19
  remindersCount: (n: number) => string;
20
20
  remindersFinished: string;
21
21
  reminderNew: string;
22
+ reminderCreateFailed: string;
23
+ remindersActionFailed: string;
22
24
  reminderWhenLabel: string;
23
25
  reminderWhenPlaceholder: string;
24
26
  /** Time words the form offers as one-click picks. */
@@ -56,6 +58,8 @@ declare const REMINDER_LABELS: {
56
58
  reminderHistoryHide: (label: string) => string;
57
59
  reminderHistoryLabel: (label: string) => string;
58
60
  reminderNoFires: string;
61
+ reminderHistoryFailed: string;
62
+ reminderFireFailed: string;
59
63
  reminderFireOutcome: (outcome: ScheduleFireOutcome) => string;
60
64
  reminderFireLate: string;
61
65
  };
@@ -37,6 +37,8 @@ const REMINDER_LABELS = {
37
37
  remindersCount: (n) => plural(n, "reminder"),
38
38
  remindersFinished: "Finished",
39
39
  reminderNew: "New reminder",
40
+ reminderCreateFailed: "Couldn't create the reminder.",
41
+ remindersActionFailed: "Couldn't update the reminder.",
40
42
  reminderWhenLabel: "When",
41
43
  reminderWhenPlaceholder: "in 20m, tomorrow 9:00, weekdays 9:00",
42
44
  /** Time words the form offers as one-click picks. */
@@ -77,6 +79,8 @@ const REMINDER_LABELS = {
77
79
  reminderHistoryHide: (label) => `Hide the history of ${label}`,
78
80
  reminderHistoryLabel: (label) => `History of ${label}`,
79
81
  reminderNoFires: "Not sent yet",
82
+ reminderHistoryFailed: "Couldn't load the history.",
83
+ reminderFireFailed: "This reminder couldn't run.",
80
84
  reminderFireOutcome: (outcome) => FIRE_OUTCOMES[outcome],
81
85
  reminderFireLate: "late"
82
86
  };
@@ -16,7 +16,7 @@ interface SettingsRestrictedProps {
16
16
  style?: CSSProperties;
17
17
  }
18
18
  /**
19
- * Renders `children` dimmed and inert with the "Admin only" tooltip while restricted; else as they are.
19
+ * Renders `children` dimmed and inert with the reason as a tooltip while restricted; else as they are.
20
20
  *
21
21
  * @param props - {@link SettingsRestrictedProps}.
22
22
  */
@@ -5,8 +5,8 @@ import { Fragment, jsx } from "react/jsx-runtime";
5
5
  import { createContext, useContext } from "react";
6
6
  //#region src/settings/SettingsRestricted.tsx
7
7
  /**
8
- * A settings section this connection may not change (a server's chat token):
9
- * `Restricted` with the settings' "Admin only" reason, restricted while the
8
+ * A settings section this connection cannot change (the server does not
9
+ * offer the write): `Restricted` with the settings' reason, restricted while the
10
10
  * host says this connection may not write (`SettingsHost.writable`). A
11
11
  * host that leaves `writable` out is never restricted. Nested ones draw
12
12
  * only the outermost, so a section and the list inside it say it once.
@@ -19,7 +19,7 @@ function useSettingsRestricted() {
19
19
  return !useReadable(useSettingsHost().writable ?? ALWAYS);
20
20
  }
21
21
  /**
22
- * Renders `children` dimmed and inert with the "Admin only" tooltip while restricted; else as they are.
22
+ * Renders `children` dimmed and inert with the reason as a tooltip while restricted; else as they are.
23
23
  *
24
24
  * @param props - {@link SettingsRestrictedProps}.
25
25
  */
@@ -30,7 +30,7 @@ function SettingsRestricted({ children, restricted, inline, className, style })
30
30
  if (!(restricted ?? own) || inside) return /* @__PURE__ */ jsx(Fragment, { children });
31
31
  return /* @__PURE__ */ jsx(Restricted, {
32
32
  restricted: true,
33
- reason: labels.settingsAdminOnly,
33
+ reason: labels.settingsNotOffered,
34
34
  ...inline ? { inline } : {},
35
35
  ...className ? { className } : {},
36
36
  ...style ? { style } : {},
@@ -22,6 +22,13 @@ interface SettingsFrameProps {
22
22
  children: ReactNode;
23
23
  /** Leaves the settings, when the app can. */
24
24
  onClose?: () => void;
25
+ /**
26
+ * On a narrow window (a phone), which one pane shows: the nav until a section is picked, then that section
27
+ * (or the search results). A frame that lays its columns side by side may ignore it.
28
+ */
29
+ pane: 'nav' | 'section';
30
+ /** Back from the open section to the nav (the narrow window's back button). */
31
+ onShowNav: () => void;
25
32
  }
26
33
  /** Props for {@link SettingsShell}. */
27
34
  interface SettingsShellProps {
@@ -33,6 +33,8 @@ function SettingsShell({ sections, initialSection, initialFocus, onSelect, count
33
33
  const labels = useSettingsLabels();
34
34
  const firstId = initialSection ?? sections[0]?.id ?? "";
35
35
  const [activeId, setActiveId] = useState(firstId);
36
+ const [pane, setPane] = useState(initialSection ? "section" : "nav");
37
+ const showNav = useCallback(() => setPane("nav"), []);
36
38
  const active = sections.find((s) => s.id === activeId) ?? sections[0];
37
39
  const [visited, setVisited] = useState(() => /* @__PURE__ */ new Set([firstId]));
38
40
  const [query, setQuery] = useState("");
@@ -49,6 +51,7 @@ function SettingsShell({ sections, initialSection, initialFocus, onSelect, count
49
51
  const select = useCallback((id, focus = null) => {
50
52
  setFocusKey(focus);
51
53
  setActiveId(id);
54
+ setPane("section");
52
55
  setVisited((prev) => prev.has(id) ? prev : new Set(prev).add(id));
53
56
  setQuery("");
54
57
  onSelectRef.current?.(id);
@@ -169,7 +172,9 @@ function SettingsShell({ sections, initialSection, initialFocus, onSelect, count
169
172
  footer,
170
173
  headerActions: actions,
171
174
  children: body,
172
- ...onClose ? { onClose } : {}
175
+ ...onClose ? { onClose } : {},
176
+ pane: trimmedQuery ? "section" : pane,
177
+ onShowNav: showNav
173
178
  };
174
179
  return renderFrame ? /* @__PURE__ */ jsx(Fragment, { children: renderFrame(frame) }) : /* @__PURE__ */ jsx(SettingsFrame, {
175
180
  ...frame,
@@ -16,7 +16,7 @@ interface FixturePerformanceOptions {
16
16
  reportPath?: string;
17
17
  /** What `profile` answers, instead of the generated profile. */
18
18
  profileOutcome?: PerfProfileOutcome;
19
- /** Every watch fails with this (a server too old, a token without admin): no samples follow. */
19
+ /** Every watch fails with this: no samples follow. */
20
20
  watchError?: PerfWatchError;
21
21
  }
22
22
  /** Drives the fixture from outside. */
@@ -11,7 +11,7 @@ import { Settings } from "zidane/chat";
11
11
  type SettingsErrorKind =
12
12
  /** The host could not be reached (offline, the connection dropped). */
13
13
  'unreachable' |
14
- /** The host refused: this connection may not do that (a server token without the admin scope). */
14
+ /** The host refused: it does not do that (an extension outside the user's folder, on a server). */
15
15
  'refused' |
16
16
  /** Anything else: the host answered with an error. */
17
17
  'failed';
@@ -50,7 +50,7 @@ interface SettingsHost {
50
50
  * refused, and `document` goes back to what the host holds. Absent: read-only.
51
51
  */
52
52
  update?(patch: Partial<Settings>): Promise<void>;
53
- /** Whether `update` may run now (a server token without the admin scope may not). Absent: whenever `update` is there. */
53
+ /** Whether `update` may run now (a server that does not offer `settings.set` may not). Absent: whenever `update` is there. */
54
54
  writable?: Readable<boolean>;
55
55
  /** Skills on disk for a folder (Settings › Skills). Absent: no skills section content. */
56
56
  skills?: SettingsSkillsHost;
@@ -1,8 +1,8 @@
1
1
  import { DEFAULT_SETTINGS, SETTINGS_CHOICES, SETTINGS_TOGGLES, nextOption } from "./catalog.js";
2
+ import { DEFAULT_SETTINGS_LABELS } from "./labels.js";
2
3
  import { isSettingsError, toSettingsError } from "./host.js";
3
4
  import { createSettingsResource, keyedSettingsResources } from "./resource.js";
4
5
  import { enabledMcpTools, enabledMcpsAfterAdd, mcpBadge, mcpRunning, mcpSettingsAfterRemove, mcpShareable, mcpSharedNow, mcpSharingWith, settingsMcpServerOf, toggleMcpTool } from "./mcp.js";
5
- import { DEFAULT_SETTINGS_LABELS } from "./labels.js";
6
6
  import { accountsFocusId, accountsKeyFocusId, hasCredentialChoice } from "./providers.js";
7
7
  import { enabledNames, toggleEnabled } from "./enabled.js";
8
8
  import { HIDDEN_TABLE_KEYS, SETTINGS_PAGES, describedOn, isPanelPage, settingsCount, shown, visiblePages } from "./layout.js";
@@ -24,9 +24,9 @@ declare const DEFAULT_SETTINGS_LABELS: {
24
24
  settingsUnavailable: string;
25
25
  /** Crash recovery on a host whose session store has no durability (memory, file map): the note under it. */
26
26
  settingsDurabilityUnavailable: string;
27
- /** A section this connection may read but not change (a chat token): its tooltip and its name. */
28
- settingsAdminOnly: string;
29
- /** A section this connection may not even read (a chat token on the logs, the performance figures). */
27
+ /** A section this connection can read but not change (the server's hello does not list the write): its tooltip and its name. */
28
+ settingsNotOffered: string;
29
+ /** A section this connection may not even read (a server that does not offer it). */
30
30
  settingsRestrictedEmpty: string;
31
31
  /** The settings are being read. */
32
32
  settingsLoading: string;
@@ -23,9 +23,9 @@ const DEFAULT_SETTINGS_LABELS = {
23
23
  settingsUnavailable: "Unavailable",
24
24
  /** Crash recovery on a host whose session store has no durability (memory, file map): the note under it. */
25
25
  settingsDurabilityUnavailable: "Unavailable here: this host's session store is not SQLite, so runs keep no checkpoint.",
26
- /** A section this connection may read but not change (a chat token): its tooltip and its name. */
27
- settingsAdminOnly: "Admin only",
28
- /** A section this connection may not even read (a chat token on the logs, the performance figures). */
26
+ /** A section this connection can read but not change (the server's hello does not list the write): its tooltip and its name. */
27
+ settingsNotOffered: "The server does not offer this",
28
+ /** A section this connection may not even read (a server that does not offer it). */
29
29
  settingsRestrictedEmpty: "Nothing to show here.",
30
30
  /** The settings are being read. */
31
31
  settingsLoading: "Reading settings…",
@@ -205,12 +205,11 @@ type PerfProfileOutcome = {
205
205
  };
206
206
  /**
207
207
  * Why a host's figures can't be watched: `unavailable` (the host can't say:
208
- * a server too old for it), `refused` (the connection's token may not:
209
- * performance needs an admin token), `failed` (anything else, `detail` says).
208
+ * a server too old for it), `failed` (anything else, `detail` says).
210
209
  */
211
210
  interface PerfWatchError {
212
- /** Which of the three. */
213
- kind: 'unavailable' | 'refused' | 'failed';
211
+ /** Which of the two. */
212
+ kind: 'unavailable' | 'failed';
214
213
  /** The error's message, when there is one. */
215
214
  detail?: string;
216
215
  }
@@ -1,4 +1,4 @@
1
- import { hf as Settings } from "../../dist/index-Bq87OcGy.js";
1
+ import { bf as Settings } from "../../dist/index-C6rzc-tt.js";
2
2
  import { SettingsSearchEntry, SettingsSection } from "./registry.js";
3
3
  import { SettingsChoice, SettingsToggle } from "./catalog.js";
4
4
  import { SettingsActionId, SettingsPage } from "./layout.js";
@@ -59,6 +59,7 @@ import { DEFAULT_MODEL_ROWS_LABELS, ModelRowsLabels } from "./sections/models/la
59
59
  import { ModelPickField, ModelPickFieldProps, modelPickLabel } from "./sections/models/ModelPickField.js";
60
60
  import { ApprovalModeRow, ApprovalModeRowProps, CompactionModelRow, CompactionModelRowProps, ConversationPresetsRow, ConversationPresetsRowProps, DecisionModelRow, DecisionModelRowProps, TextModelRow, TextModelRowProps, automaticTextModel } from "./sections/models/ModelRows.js";
61
61
  import { SpacesDefaultsSection, SpacesDefaultsSectionProps, spaceDefaults, withSpaceDefaults } from "./sections/models/SpacesDefaultsSection.js";
62
+ import { NewChatPlaceRow, NewChatPlaceRowProps } from "./sections/models/NewChatPlaceRow.js";
62
63
  import { ModelTestButton, ModelTestButtonProps, ModelTestLine, ModelTestLineProps, ModelTestState, useModelRowsLabels, useModelTest } from "./sections/models/model-test.js";
63
64
  import "./sections/index.js";
64
- export { AccountsConfirm, AccountsSectionLabels, AgentDefaultsRows, AgentDefaultsRowsProps, AgentDefaultsValue, AppearanceSection, AppearanceSectionLabels, AppearanceSectionProps, ApprovalModeRow, ApprovalModeRowProps, CatalogSharedLabels, ChoiceRow, ChoiceRowProps, ClaudeImportDialog, ClaudeImportDialogProps, ClaudeImportLabels, CompactionModelRow, CompactionModelRowProps, ConversationPresetsRow, ConversationPresetsRowProps, CreateExtensionDialog, CreateExtensionDialogProps, CreateExtensionLabels, DEFAULT_ACCOUNTS_SECTION_LABELS, DEFAULT_APPEARANCE_SECTION_LABELS, DEFAULT_CATALOG_SHARED_LABELS, DEFAULT_CLAUDE_IMPORT_LABELS, DEFAULT_CREATE_EXTENSION_LABELS, DEFAULT_EDITOR_SECTION_LABELS, DEFAULT_ENABLED_LIST_SECTION_LABELS, DEFAULT_ENVIRONMENTS_SECTION_LABELS, DEFAULT_EXTENSIONS_SECTION_LABELS, DEFAULT_EXTENSION_OPTIONS_LABELS, DEFAULT_HOST_CATALOG_LABELS, DEFAULT_INSTRUCTIONS_SECTION_LABELS, DEFAULT_KEYBINDINGS_SECTION_LABELS, DEFAULT_LOGS_SECTION_LABELS, DEFAULT_MCP_SECTION_LABELS, DEFAULT_MODEL_ROWS_LABELS, DEFAULT_PERFORMANCE_SECTION_LABELS, DEFAULT_PLUGINS_SECTION_LABELS, DEFAULT_SKILLS_SECTION_LABELS, DecisionModelRow, DecisionModelRowProps, EditorDiagnosticsTool, EditorLanguageServer, EditorOpenIn, EditorSection, EditorSectionLabels, EditorSectionProps, EnabledListSection, EnabledListSectionLabels, EnabledListSectionProps, EnvironmentsSection, EnvironmentsSectionLabels, EnvironmentsSectionProps, ExtensionActionRow, ExtensionActionRowProps, ExtensionActions, ExtensionConfigRow, ExtensionConfigRowProps, ExtensionConfigValue, ExtensionList, ExtensionOptionsLabels, ExtensionOptionsSection, ExtensionOptionsSectionProps, ExtensionPick, ExtensionSourceBrowser, ExtensionSourceBrowserProps, ExtensionsSection, ExtensionsSectionLabels, ExtensionsSectionProps, HostCatalogLabels, HostCatalogSection, HostCatalogSectionKind, HostCatalogSectionProps, InstructionsSection, InstructionsSectionLabels, InstructionsSectionProps, KEYBINDING_ROW_COUNT, KEYBINDING_SECTIONS, KeybindingGroup, KeybindingRow, KeybindingsSection, KeybindingsSectionLabelKey, KeybindingsSectionLabels, KeybindingsSectionProps, LogsSection, LogsSectionLabels, LogsSectionProps, McpSection, McpSectionLabels, McpSectionProps, ModelListEntry, ModelListPicker, ModelListPickerProps, ModelPickField, ModelPickFieldProps, ModelRowsLabels, ModelTestButton, ModelTestButtonProps, ModelTestLine, ModelTestLineProps, ModelTestState, PerfSparkline, PerfSparklineProps, PerformanceHud, PerformanceHudProps, PerformanceSection, PerformanceSectionLabels, PerformanceSectionProps, PluginList, PluginsSection, PluginsSectionLabels, PluginsSectionProps, PreferenceSectionOverrides, ProvidersSection, ProvidersSectionProps, SelectRow, SelectRowOption, SelectRowProps, ServerProvidersSection, ServerProvidersSectionProps, ServerSignIn, ServerSignInProps, SettingFocus, type SettingFocusProps, SettingsFrame, SettingsFrameProps, SettingsHeadingText, SettingsHeadingTextProps, SettingsHostSwitcher, SettingsHostSwitcherProps, SettingsNav, SettingsNavProps, SettingsPanel, SettingsPanelActions, type SettingsPanelActionsProps, SettingsPanelBody, type SettingsPanelBodyProps, type SettingsPanelProps, SettingsProvider, SettingsProviderProps, SettingsRowsPage, SettingsRowsPageProps, type SettingsSearchEntry, type SettingsSection, type SettingsSectionState, SettingsShell, SettingsShellProps, SettingsTutorial, SettingsTutorialProps, SettingsValues, SkillsSection, SkillsSectionLabels, SkillsSectionProps, SpacesDefaultsSection, SpacesDefaultsSectionProps, TextModelRow, TextModelRowProps, ToggleRow, ToggleRowProps, ValueChip, ValueChipProps, agentDefaultsOf, agentDefaultsPatch, appearanceSettingsSection, automaticTextModel, editorSettingsSection, enabledListSettingsSection, environmentsSettingsSection, extensionConfigValue, extensionPickOf, extensionsSettingsSection, filterModelList, hostCatalogSettingsSection, instructionsSettingsSection, keybindingsSettingsSection, logsSettingsSection, mcpSettingsSection, modelPickLabel, navOrder, performanceSettingsSection, pluginsSettingsSection, providersSettingsSection, serverProvidersSettingsSection, skillsSettingsSection, spaceDefaults, useAccountsSectionLabels, useAppearanceSectionLabels, useClaudeImportAvailable, useClaudeImportLabels, useCreateExtensionLabels, useEditorSectionLabels, useEnabledListSectionLabels, useEnvironmentsSectionLabels, useExtensionOptionsLabels, useExtensionOptionsSearch, useExtensionsSectionLabels, useHostCatalogLabels, useInstructionsSectionLabels, useKeybindingsSectionLabels, useLogsSectionLabels, useMcpSectionLabels, useModelRowsLabels, useModelTest, usePerformanceSectionLabels, usePluginsSectionLabels, useSettings, useSettingsDocument, useSettingsHost, useSettingsHostName, useSettingsLabels, useSettingsSection, useSettingsWritable, useSkillsSectionLabels, withSpaceDefaults };
65
+ export { AccountsConfirm, AccountsSectionLabels, AgentDefaultsRows, AgentDefaultsRowsProps, AgentDefaultsValue, AppearanceSection, AppearanceSectionLabels, AppearanceSectionProps, ApprovalModeRow, ApprovalModeRowProps, CatalogSharedLabels, ChoiceRow, ChoiceRowProps, ClaudeImportDialog, ClaudeImportDialogProps, ClaudeImportLabels, CompactionModelRow, CompactionModelRowProps, ConversationPresetsRow, ConversationPresetsRowProps, CreateExtensionDialog, CreateExtensionDialogProps, CreateExtensionLabels, DEFAULT_ACCOUNTS_SECTION_LABELS, DEFAULT_APPEARANCE_SECTION_LABELS, DEFAULT_CATALOG_SHARED_LABELS, DEFAULT_CLAUDE_IMPORT_LABELS, DEFAULT_CREATE_EXTENSION_LABELS, DEFAULT_EDITOR_SECTION_LABELS, DEFAULT_ENABLED_LIST_SECTION_LABELS, DEFAULT_ENVIRONMENTS_SECTION_LABELS, DEFAULT_EXTENSIONS_SECTION_LABELS, DEFAULT_EXTENSION_OPTIONS_LABELS, DEFAULT_HOST_CATALOG_LABELS, DEFAULT_INSTRUCTIONS_SECTION_LABELS, DEFAULT_KEYBINDINGS_SECTION_LABELS, DEFAULT_LOGS_SECTION_LABELS, DEFAULT_MCP_SECTION_LABELS, DEFAULT_MODEL_ROWS_LABELS, DEFAULT_PERFORMANCE_SECTION_LABELS, DEFAULT_PLUGINS_SECTION_LABELS, DEFAULT_SKILLS_SECTION_LABELS, DecisionModelRow, DecisionModelRowProps, EditorDiagnosticsTool, EditorLanguageServer, EditorOpenIn, EditorSection, EditorSectionLabels, EditorSectionProps, EnabledListSection, EnabledListSectionLabels, EnabledListSectionProps, EnvironmentsSection, EnvironmentsSectionLabels, EnvironmentsSectionProps, ExtensionActionRow, ExtensionActionRowProps, ExtensionActions, ExtensionConfigRow, ExtensionConfigRowProps, ExtensionConfigValue, ExtensionList, ExtensionOptionsLabels, ExtensionOptionsSection, ExtensionOptionsSectionProps, ExtensionPick, ExtensionSourceBrowser, ExtensionSourceBrowserProps, ExtensionsSection, ExtensionsSectionLabels, ExtensionsSectionProps, HostCatalogLabels, HostCatalogSection, HostCatalogSectionKind, HostCatalogSectionProps, InstructionsSection, InstructionsSectionLabels, InstructionsSectionProps, KEYBINDING_ROW_COUNT, KEYBINDING_SECTIONS, KeybindingGroup, KeybindingRow, KeybindingsSection, KeybindingsSectionLabelKey, KeybindingsSectionLabels, KeybindingsSectionProps, LogsSection, LogsSectionLabels, LogsSectionProps, McpSection, McpSectionLabels, McpSectionProps, ModelListEntry, ModelListPicker, ModelListPickerProps, ModelPickField, ModelPickFieldProps, ModelRowsLabels, ModelTestButton, ModelTestButtonProps, ModelTestLine, ModelTestLineProps, ModelTestState, NewChatPlaceRow, NewChatPlaceRowProps, PerfSparkline, PerfSparklineProps, PerformanceHud, PerformanceHudProps, PerformanceSection, PerformanceSectionLabels, PerformanceSectionProps, PluginList, PluginsSection, PluginsSectionLabels, PluginsSectionProps, PreferenceSectionOverrides, ProvidersSection, ProvidersSectionProps, SelectRow, SelectRowOption, SelectRowProps, ServerProvidersSection, ServerProvidersSectionProps, ServerSignIn, ServerSignInProps, SettingFocus, type SettingFocusProps, SettingsFrame, SettingsFrameProps, SettingsHeadingText, SettingsHeadingTextProps, SettingsHostSwitcher, SettingsHostSwitcherProps, SettingsNav, SettingsNavProps, SettingsPanel, SettingsPanelActions, type SettingsPanelActionsProps, SettingsPanelBody, type SettingsPanelBodyProps, type SettingsPanelProps, SettingsProvider, SettingsProviderProps, SettingsRowsPage, SettingsRowsPageProps, type SettingsSearchEntry, type SettingsSection, type SettingsSectionState, SettingsShell, SettingsShellProps, SettingsTutorial, SettingsTutorialProps, SettingsValues, SkillsSection, SkillsSectionLabels, SkillsSectionProps, SpacesDefaultsSection, SpacesDefaultsSectionProps, TextModelRow, TextModelRowProps, ToggleRow, ToggleRowProps, ValueChip, ValueChipProps, agentDefaultsOf, agentDefaultsPatch, appearanceSettingsSection, automaticTextModel, editorSettingsSection, enabledListSettingsSection, environmentsSettingsSection, extensionConfigValue, extensionPickOf, extensionsSettingsSection, filterModelList, hostCatalogSettingsSection, instructionsSettingsSection, keybindingsSettingsSection, logsSettingsSection, mcpSettingsSection, modelPickLabel, navOrder, performanceSettingsSection, pluginsSettingsSection, providersSettingsSection, serverProvidersSettingsSection, skillsSettingsSection, spaceDefaults, useAccountsSectionLabels, useAppearanceSectionLabels, useClaudeImportAvailable, useClaudeImportLabels, useCreateExtensionLabels, useEditorSectionLabels, useEnabledListSectionLabels, useEnvironmentsSectionLabels, useExtensionOptionsLabels, useExtensionOptionsSearch, useExtensionsSectionLabels, useHostCatalogLabels, useInstructionsSectionLabels, useKeybindingsSectionLabels, useLogsSectionLabels, useMcpSectionLabels, useModelRowsLabels, useModelTest, usePerformanceSectionLabels, usePluginsSectionLabels, useSettings, useSettingsDocument, useSettingsHost, useSettingsHostName, useSettingsLabels, useSettingsSection, useSettingsWritable, useSkillsSectionLabels, withSpaceDefaults };
@@ -58,5 +58,6 @@ import { PerformanceHud } from "./sections/performance/PerformanceHud.js";
58
58
  import { ModelPickField, modelPickLabel } from "./sections/models/ModelPickField.js";
59
59
  import { AgentDefaultsRows, agentDefaultsOf, agentDefaultsPatch } from "./sections/models/AgentDefaults.js";
60
60
  import { ApprovalModeRow, CompactionModelRow, ConversationPresetsRow, DecisionModelRow, TextModelRow, automaticTextModel } from "./sections/models/ModelRows.js";
61
+ import { NewChatPlaceRow } from "./sections/models/NewChatPlaceRow.js";
61
62
  import { SpacesDefaultsSection, spaceDefaults, withSpaceDefaults } from "./sections/models/SpacesDefaultsSection.js";
62
- export { AgentDefaultsRows, AppearanceSection, ApprovalModeRow, ChoiceRow, ClaudeImportDialog, CompactionModelRow, ConversationPresetsRow, CreateExtensionDialog, DEFAULT_ACCOUNTS_SECTION_LABELS, DEFAULT_APPEARANCE_SECTION_LABELS, DEFAULT_CATALOG_SHARED_LABELS, DEFAULT_CLAUDE_IMPORT_LABELS, DEFAULT_CREATE_EXTENSION_LABELS, DEFAULT_EDITOR_SECTION_LABELS, DEFAULT_ENABLED_LIST_SECTION_LABELS, DEFAULT_ENVIRONMENTS_SECTION_LABELS, DEFAULT_EXTENSIONS_SECTION_LABELS, DEFAULT_EXTENSION_OPTIONS_LABELS, DEFAULT_HOST_CATALOG_LABELS, DEFAULT_INSTRUCTIONS_SECTION_LABELS, DEFAULT_KEYBINDINGS_SECTION_LABELS, DEFAULT_LOGS_SECTION_LABELS, DEFAULT_MCP_SECTION_LABELS, DEFAULT_MODEL_ROWS_LABELS, DEFAULT_PERFORMANCE_SECTION_LABELS, DEFAULT_PLUGINS_SECTION_LABELS, DEFAULT_SKILLS_SECTION_LABELS, DecisionModelRow, EditorSection, EnabledListSection, EnvironmentsSection, ExtensionActionRow, ExtensionActions, ExtensionConfigRow, ExtensionList, ExtensionOptionsSection, ExtensionSourceBrowser, ExtensionsSection, HostCatalogSection, InstructionsSection, KEYBINDING_ROW_COUNT, KEYBINDING_SECTIONS, KeybindingsSection, LogsSection, McpSection, ModelListPicker, ModelPickField, ModelTestButton, ModelTestLine, PerfSparkline, PerformanceHud, PerformanceSection, PluginList, PluginsSection, ProvidersSection, SelectRow, ServerProvidersSection, ServerSignIn, SettingFocus, SettingsFrame, SettingsHeadingText, SettingsHostSwitcher, SettingsNav, SettingsPanel, SettingsPanelActions, SettingsPanelBody, SettingsProvider, SettingsRowsPage, SettingsShell, SettingsTutorial, SkillsSection, SpacesDefaultsSection, TextModelRow, ToggleRow, ValueChip, agentDefaultsOf, agentDefaultsPatch, appearanceSettingsSection, automaticTextModel, editorSettingsSection, enabledListSettingsSection, environmentsSettingsSection, extensionConfigValue, extensionPickOf, extensionsSettingsSection, filterModelList, hostCatalogSettingsSection, instructionsSettingsSection, keybindingsSettingsSection, logsSettingsSection, mcpSettingsSection, modelPickLabel, navOrder, performanceSettingsSection, pluginsSettingsSection, providersSettingsSection, serverProvidersSettingsSection, skillsSettingsSection, spaceDefaults, useAccountsSectionLabels, useAppearanceSectionLabels, useClaudeImportAvailable, useClaudeImportLabels, useCreateExtensionLabels, useEditorSectionLabels, useEnabledListSectionLabels, useEnvironmentsSectionLabels, useExtensionOptionsLabels, useExtensionOptionsSearch, useExtensionsSectionLabels, useHostCatalogLabels, useInstructionsSectionLabels, useKeybindingsSectionLabels, useLogsSectionLabels, useMcpSectionLabels, useModelRowsLabels, useModelTest, usePerformanceSectionLabels, usePluginsSectionLabels, useSettings, useSettingsDocument, useSettingsHost, useSettingsHostName, useSettingsLabels, useSettingsSection, useSettingsWritable, useSkillsSectionLabels, withSpaceDefaults };
63
+ export { AgentDefaultsRows, AppearanceSection, ApprovalModeRow, ChoiceRow, ClaudeImportDialog, CompactionModelRow, ConversationPresetsRow, CreateExtensionDialog, DEFAULT_ACCOUNTS_SECTION_LABELS, DEFAULT_APPEARANCE_SECTION_LABELS, DEFAULT_CATALOG_SHARED_LABELS, DEFAULT_CLAUDE_IMPORT_LABELS, DEFAULT_CREATE_EXTENSION_LABELS, DEFAULT_EDITOR_SECTION_LABELS, DEFAULT_ENABLED_LIST_SECTION_LABELS, DEFAULT_ENVIRONMENTS_SECTION_LABELS, DEFAULT_EXTENSIONS_SECTION_LABELS, DEFAULT_EXTENSION_OPTIONS_LABELS, DEFAULT_HOST_CATALOG_LABELS, DEFAULT_INSTRUCTIONS_SECTION_LABELS, DEFAULT_KEYBINDINGS_SECTION_LABELS, DEFAULT_LOGS_SECTION_LABELS, DEFAULT_MCP_SECTION_LABELS, DEFAULT_MODEL_ROWS_LABELS, DEFAULT_PERFORMANCE_SECTION_LABELS, DEFAULT_PLUGINS_SECTION_LABELS, DEFAULT_SKILLS_SECTION_LABELS, DecisionModelRow, EditorSection, EnabledListSection, EnvironmentsSection, ExtensionActionRow, ExtensionActions, ExtensionConfigRow, ExtensionList, ExtensionOptionsSection, ExtensionSourceBrowser, ExtensionsSection, HostCatalogSection, InstructionsSection, KEYBINDING_ROW_COUNT, KEYBINDING_SECTIONS, KeybindingsSection, LogsSection, McpSection, ModelListPicker, ModelPickField, ModelTestButton, ModelTestLine, NewChatPlaceRow, PerfSparkline, PerformanceHud, PerformanceSection, PluginList, PluginsSection, ProvidersSection, SelectRow, ServerProvidersSection, ServerSignIn, SettingFocus, SettingsFrame, SettingsHeadingText, SettingsHostSwitcher, SettingsNav, SettingsPanel, SettingsPanelActions, SettingsPanelBody, SettingsProvider, SettingsRowsPage, SettingsShell, SettingsTutorial, SkillsSection, SpacesDefaultsSection, TextModelRow, ToggleRow, ValueChip, agentDefaultsOf, agentDefaultsPatch, appearanceSettingsSection, automaticTextModel, editorSettingsSection, enabledListSettingsSection, environmentsSettingsSection, extensionConfigValue, extensionPickOf, extensionsSettingsSection, filterModelList, hostCatalogSettingsSection, instructionsSettingsSection, keybindingsSettingsSection, logsSettingsSection, mcpSettingsSection, modelPickLabel, navOrder, performanceSettingsSection, pluginsSettingsSection, providersSettingsSection, serverProvidersSettingsSection, skillsSettingsSection, spaceDefaults, useAccountsSectionLabels, useAppearanceSectionLabels, useClaudeImportAvailable, useClaudeImportLabels, useCreateExtensionLabels, useEditorSectionLabels, useEnabledListSectionLabels, useEnvironmentsSectionLabels, useExtensionOptionsLabels, useExtensionOptionsSearch, useExtensionsSectionLabels, useHostCatalogLabels, useInstructionsSectionLabels, useKeybindingsSectionLabels, useLogsSectionLabels, useMcpSectionLabels, useModelRowsLabels, useModelTest, usePerformanceSectionLabels, usePluginsSectionLabels, useSettings, useSettingsDocument, useSettingsHost, useSettingsHostName, useSettingsLabels, useSettingsSection, useSettingsWritable, useSkillsSectionLabels, withSpaceDefaults };
@@ -7,9 +7,9 @@ import { HighlightedCode } from "../../../code/HighlightedCode.js";
7
7
  import { ACCENT_PRESETS, presetFor } from "../../../theme/accents.js";
8
8
  import { derivePalette } from "../../../theme/derive.js";
9
9
  import { seedFromTheme } from "../../../theme/from-theme.js";
10
- import { LIMITS } from "../../../appearance/headless/prefs.js";
11
- import { availableCuratedFonts, queryInstalledFonts } from "../../../appearance/headless/fonts.js";
12
10
  import { codeThemesOf } from "../../../code/code-themes.js";
11
+ import { availableCuratedFonts, queryInstalledFonts } from "../../../appearance/headless/fonts.js";
12
+ import { LIMITS } from "../../../appearance/headless/prefs.js";
13
13
  import { resolveCodeTheme, useAppearance, useAppearanceMotion } from "../../../appearance/AppearanceProvider.js";
14
14
  import { SettingFocus, SettingsPanel, SettingsPanelBody } from "../../section.js";
15
15
  import { useSectionLabels } from "../use-section-labels.js";
@@ -1,9 +1,9 @@
1
1
  import { BTN_LG_SECONDARY, BTN_LG_SOLID } from "../../../components/button.js";
2
2
  import { EmptyState, SectionLabel, Tray } from "../../../components/Surface.js";
3
3
  import { ErrorNote, MetaChip, ROW_BUTTON_CLASS, RowText, Switch } from "../../../components/Form.js";
4
- import { toSettingsError } from "../../headless/host.js";
5
4
  import { useSettingsHost } from "../../SettingsProvider.js";
6
5
  import { ModalShell } from "../../../app/ModalProvider.js";
6
+ import { toSettingsError } from "../../headless/host.js";
7
7
  import { useSectionLabels } from "../use-section-labels.js";
8
8
  import { DEFAULT_CLAUDE_IMPORT_LABELS } from "./labels.js";
9
9
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,6 +1,7 @@
1
+ import { Notice } from "../../../components/Notice.js";
1
2
  import { FormSection, ROW_BUTTON_CLASS, RowText, SegmentedRow, SliderRow, Switch, SwitchRow } from "../../../components/Form.js";
2
- import { DIAGNOSTICS_TIMEOUT, LSP_IDLE } from "../../../files/headless/editor-prefs.js";
3
3
  import { useAppearanceHost, useAppearanceState } from "../../../appearance/AppearanceProvider.js";
4
+ import { DIAGNOSTICS_TIMEOUT, LSP_IDLE } from "../../../files/headless/editor-prefs.js";
4
5
  import { useEditorPrefs, useFilesHost } from "../../../files/FilesProvider.js";
5
6
  import { SettingFocus, SettingsPanel, SettingsPanelBody } from "../../section.js";
6
7
  import { useSectionLabels } from "../use-section-labels.js";
@@ -423,10 +424,12 @@ function ServerList({ cwd, list, overrides, onOverride }) {
423
424
  title: [s.detail, s.log ? l.editorSectionServerLog(s.log.split("\n").slice(-12).join("\n")) : ""].filter(Boolean).join("\n\n"),
424
425
  children: s.status === "running" ? l.editorSectionServerRunning(s.openDocuments ?? 0, s.busy) : s.status === "failed" ? l.editorSectionServerFailed : s.status === "ready" ? l.editorSectionServerFound(s.detail) : s.status === "missing" ? s.detail ?? l.editorSectionServerMissing : l.editorSectionServerAbsent
425
426
  }),
426
- s.lastError && /* @__PURE__ */ jsx("div", {
427
- className: "mt-0.5 text-xs text-zg-danger whitespace-pre-wrap break-words line-clamp-3",
428
- title: s.lastError,
429
- children: s.lastError
427
+ s.lastError && /* @__PURE__ */ jsx(Notice, {
428
+ tone: "error",
429
+ compact: true,
430
+ detail: s.lastError,
431
+ className: "mt-0.5",
432
+ children: l.editorSectionServerError
430
433
  })
431
434
  ]
432
435
  })]
@@ -64,6 +64,7 @@ declare const DEFAULT_EDITOR_SECTION_LABELS: {
64
64
  editorSectionServersRefresh: string;
65
65
  editorSectionServerRunning: (open: number, busy: string | undefined) => string;
66
66
  editorSectionServerFailed: string;
67
+ editorSectionServerError: string;
67
68
  editorSectionServerFound: (detail: string | undefined) => string;
68
69
  editorSectionServerMissing: string;
69
70
  editorSectionServerAbsent: string;
@@ -64,6 +64,7 @@ const DEFAULT_EDITOR_SECTION_LABELS = {
64
64
  editorSectionServersRefresh: "Refresh",
65
65
  editorSectionServerRunning: (open, busy) => `running${open ? `, ${open} open` : ""}${busy ? ` · ${busy}` : ""}`,
66
66
  editorSectionServerFailed: "failed",
67
+ editorSectionServerError: "The server reported an error.",
67
68
  editorSectionServerFound: (detail) => `found: ${detail}`,
68
69
  editorSectionServerMissing: "not installed",
69
70
  editorSectionServerAbsent: "not used by this project",
@@ -1,11 +1,13 @@
1
1
  import { BTN_SECONDARY } from "../../../components/button.js";
2
+ import { Notice } from "../../../components/Notice.js";
2
3
  import { Segmented } from "../../../components/Segmented.js";
3
4
  import { ErrorNote, FormCard, FormSection, INPUT_CLASS as INPUT_CLASS$1, MetaChip, RowText, Switch } from "../../../components/Form.js";
5
+ import { errorMessage } from "../../../components/report-error.js";
4
6
  import { constant, useReadable } from "../../../chat/headless/store.js";
5
- import { environmentKindIcon } from "../../../git/headless/environment.js";
6
- import { toSettingsError } from "../../headless/host.js";
7
7
  import { useMachinesHost } from "../../../machines/MachinesProvider.js";
8
8
  import { useSettingsHost } from "../../SettingsProvider.js";
9
+ import { environmentKindIcon } from "../../../git/headless/environment.js";
10
+ import { toSettingsError } from "../../headless/host.js";
9
11
  import { HostBadge } from "../../../chat/HostBadge.js";
10
12
  import { SettingsPanel, SettingsPanelBody, useSettingsSection } from "../../section.js";
11
13
  import { useSectionLabels } from "../use-section-labels.js";
@@ -144,7 +146,6 @@ function EnvironmentsSection({ cwd, className, style }) {
144
146
  }
145
147
  function EnvironmentCard({ descriptor, baseLabel, onUpdate }) {
146
148
  const l = useEnvironmentsSectionLabels();
147
- const shared = useCatalogSharedLabels();
148
149
  const verify = useSettingsHost().environments?.verify;
149
150
  const { kind } = descriptor;
150
151
  const isLocal = kind === "local";
@@ -159,7 +160,7 @@ function EnvironmentCard({ descriptor, baseLabel, onUpdate }) {
159
160
  })).catch((err) => setTest({
160
161
  state: "done",
161
162
  ok: false,
162
- text: shared.catalogError(toSettingsError(err))
163
+ text: errorMessage(err)
163
164
  }));
164
165
  };
165
166
  const fields = descriptor.enabled ? descriptor.fields.filter((field) => field.visible) : [];
@@ -200,23 +201,29 @@ function EnvironmentCard({ descriptor, baseLabel, onUpdate }) {
200
201
  className: "text-xs text-[var(--zg-text-muted)] mt-0.5",
201
202
  children: descriptor.description
202
203
  }),
203
- test?.state === "done" && /* @__PURE__ */ jsxs("div", {
204
+ test?.state === "done" && (test.ok ? /* @__PURE__ */ jsxs("div", {
204
205
  role: "status",
205
- className: `flex items-start gap-1.5 text-xs mt-1.5 ${test.ok ? "text-[var(--zg-success)]" : "text-[var(--zg-danger)]"}`,
206
+ className: "flex items-start gap-1.5 text-xs mt-1.5 text-[var(--zg-success)]",
206
207
  children: [/* @__PURE__ */ jsx("span", {
207
208
  "aria-hidden": true,
208
- className: `${test.ok ? "i-ph-check-circle" : "i-ph-x-circle"} text-sm shrink-0`
209
+ className: "i-ph-check-circle text-sm shrink-0"
209
210
  }), /* @__PURE__ */ jsx("span", {
210
211
  className: "min-w-0",
211
212
  children: test.text
212
213
  })]
213
- }),
214
- descriptor.enabled && !descriptor.available && descriptor.reason && /* @__PURE__ */ jsxs("div", {
215
- className: "text-xs text-[var(--zg-text-muted)] mt-1",
216
- children: [/* @__PURE__ */ jsx("span", {
217
- className: "text-[var(--zg-danger)]",
218
- children: l.environmentsSectionNotAvailable
219
- }), descriptor.reason]
214
+ }) : /* @__PURE__ */ jsx(Notice, {
215
+ tone: "error",
216
+ compact: true,
217
+ detail: test.text,
218
+ className: "mt-1.5",
219
+ children: l.environmentsSectionTestFailed
220
+ })),
221
+ descriptor.enabled && !descriptor.available && descriptor.reason && /* @__PURE__ */ jsx(Notice, {
222
+ tone: "warning",
223
+ compact: true,
224
+ detail: descriptor.reason,
225
+ className: "mt-1",
226
+ children: l.environmentsSectionNotAvailable
220
227
  })
221
228
  ]
222
229
  }),
@@ -13,6 +13,7 @@ declare const DEFAULT_ENVIRONMENTS_SECTION_LABELS: {
13
13
  environmentsSectionTesting: string;
14
14
  environmentsSectionTest: string;
15
15
  environmentsSectionConnected: string;
16
+ environmentsSectionTestFailed: string;
16
17
  environmentsSectionAlwaysOn: string;
17
18
  environmentsSectionTurnOff: (label: string) => string;
18
19
  environmentsSectionTurnOn: (label: string) => string;
@@ -9,10 +9,11 @@ const DEFAULT_ENVIRONMENTS_SECTION_LABELS = {
9
9
  environmentsSectionDefaultHint: "Pick another one per session in the composer.",
10
10
  environmentsSectionDefaultChip: "Default",
11
11
  environmentsSectionNotReady: "Not ready",
12
- environmentsSectionNotAvailable: "Not available. ",
12
+ environmentsSectionNotAvailable: "Not available.",
13
13
  environmentsSectionTesting: "Testing…",
14
14
  environmentsSectionTest: "Test connection",
15
15
  environmentsSectionConnected: "Connected.",
16
+ environmentsSectionTestFailed: "Couldn't connect.",
16
17
  environmentsSectionAlwaysOn: "Always on",
17
18
  environmentsSectionTurnOff: (label) => `Turn off ${label}`,
18
19
  environmentsSectionTurnOn: (label) => `Turn on ${label}`,
@@ -1,8 +1,8 @@
1
1
  import { useLabels } from "../../../labels.js";
2
2
  import { buttonClass } from "../../../components/button.js";
3
3
  import { ErrorNote, INPUT_CLASS, MetaChip } from "../../../components/Form.js";
4
- import { isSettingsError, toSettingsError } from "../../headless/host.js";
5
4
  import { useOptionalModal } from "../../../app/ModalProvider.js";
5
+ import { isSettingsError, toSettingsError } from "../../headless/host.js";
6
6
  import { useSectionLabels } from "../use-section-labels.js";
7
7
  import { useCatalogSharedLabels } from "../shared/catalog.js";
8
8
  import { DEFAULT_EXTENSIONS_SECTION_LABELS } from "./labels.js";
@@ -2,9 +2,9 @@ import { BTN_LG_SECONDARY, BTN_LG_SOLID } from "../../../components/button.js";
2
2
  import { Segmented } from "../../../components/Segmented.js";
3
3
  import { ErrorNote, INPUT_CLASS } from "../../../components/Form.js";
4
4
  import { useDisplayPath } from "../../../hooks/useDisplayPath.js";
5
- import { toSettingsError } from "../../headless/host.js";
6
5
  import { useSettingsHost } from "../../SettingsProvider.js";
7
6
  import { ModalShell } from "../../../app/ModalProvider.js";
7
+ import { toSettingsError } from "../../headless/host.js";
8
8
  import { useSectionLabels } from "../use-section-labels.js";
9
9
  import { DEFAULT_CREATE_EXTENSION_LABELS } from "./create-labels.js";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -22,8 +22,6 @@ interface ExtensionActionRowProps {
22
22
  busy?: boolean;
23
23
  /** The button is off (another row's run is going). */
24
24
  disabled?: boolean;
25
- /** The token scope this client lacks to run it: the button is off, restricted ("Admin only"). */
26
- needsScope?: 'chat' | 'admin' | null;
27
25
  /** Runs the action (the Run button). */
28
26
  onRun(): void;
29
27
  }
@@ -32,7 +30,7 @@ interface ExtensionActionRowProps {
32
30
  *
33
31
  * @param props - The action's label and description, its status, whether it runs, and the run.
34
32
  */
35
- declare function ExtensionActionRow({ label, description, status, busy, disabled, needsScope, onRun }: ExtensionActionRowProps): import("react").JSX.Element;
33
+ declare function ExtensionActionRow({ label, description, status, busy, disabled, onRun }: ExtensionActionRowProps): import("react").JSX.Element;
36
34
  /** Props for {@link ExtensionConfigRow}. */
37
35
  interface ExtensionConfigRowProps {
38
36
  /** The setting, as the host describes it. */
@@ -1,8 +1,8 @@
1
1
  import { IconButton } from "../../../components/IconButton.js";
2
2
  import { BTN_SECONDARY } from "../../../components/button.js";
3
+ import { Notice } from "../../../components/Notice.js";
3
4
  import { HostRow, INPUT_CLASS, MetaChip, ROW_BUTTON_CLASS, ROW_CLASS, RowText, Switch } from "../../../components/Form.js";
4
5
  import { SegmentSpinner } from "../../../components/SegmentSpinner.js";
5
- import { Restricted } from "../../../components/Restricted.js";
6
6
  import { useComposerModelName } from "../../../chat/composer/use-composer-stores.js";
7
7
  import { useSectionLabels } from "../use-section-labels.js";
8
8
  import { ModelListPicker } from "../models/ModelListPicker.js";
@@ -35,7 +35,7 @@ function useExtensionOptionsLabels() {
35
35
  *
36
36
  * @param props - The action's label and description, its status, whether it runs, and the run.
37
37
  */
38
- function ExtensionActionRow({ label, description, status, busy, disabled, needsScope, onRun }) {
38
+ function ExtensionActionRow({ label, description, status, busy, disabled, onRun }) {
39
39
  const l = useExtensionOptionsLabels();
40
40
  return /* @__PURE__ */ jsxs("div", {
41
41
  className: ROW_CLASS,
@@ -44,24 +44,25 @@ function ExtensionActionRow({ label, description, status, busy, disabled, needsS
44
44
  children: [/* @__PURE__ */ jsx(RowText, {
45
45
  label,
46
46
  description
47
- }), status?.text && /* @__PURE__ */ jsx("div", {
48
- className: `text-xs break-words ${status.error ? "text-zg-danger" : "text-[var(--zg-text-muted)]"}`,
47
+ }), status?.text && (status.error ? /* @__PURE__ */ jsx(Notice, {
48
+ tone: "error",
49
+ compact: true,
50
+ detail: status.text,
51
+ className: "mt-1",
52
+ children: l.extensionOptionsRunFailed
53
+ }) : /* @__PURE__ */ jsx("div", {
54
+ className: "text-xs break-words text-[var(--zg-text-muted)]",
49
55
  children: status.text
50
- })]
51
- }), /* @__PURE__ */ jsx(Restricted, {
52
- restricted: Boolean(needsScope),
53
- reason: l.extensionOptionsAdminOnly,
54
- inline: true,
55
- children: /* @__PURE__ */ jsx("button", {
56
- type: "button",
57
- onClick: onRun,
58
- disabled: disabled || busy || Boolean(needsScope),
59
- className: BTN_SECONDARY,
60
- children: busy ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SegmentSpinner, {
61
- size: "xs",
62
- label: l.extensionOptionsRunning
63
- }), l.extensionOptionsRunning] }) : l.extensionOptionsRun
64
- })
56
+ }))]
57
+ }), /* @__PURE__ */ jsx("button", {
58
+ type: "button",
59
+ onClick: onRun,
60
+ disabled: disabled || busy,
61
+ className: BTN_SECONDARY,
62
+ children: busy ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SegmentSpinner, {
63
+ size: "xs",
64
+ label: l.extensionOptionsRunning
65
+ }), l.extensionOptionsRunning] }) : l.extensionOptionsRun
65
66
  })]
66
67
  });
67
68
  }
@@ -1,4 +1,5 @@
1
1
  import { FormSection } from "../../../components/Form.js";
2
+ import { errorMessage } from "../../../components/report-error.js";
2
3
  import { LoadError } from "../../../components/LoadError.js";
3
4
  import { useSettings, useSettingsHost } from "../../SettingsProvider.js";
4
5
  import { useModelCatalog } from "../../../chat/composer/use-composer-stores.js";
@@ -208,7 +209,7 @@ function ExtensionOptionRows({ schema, actions, values, cwd, visible, onWrite, o
208
209
  ext: action.extension,
209
210
  key: action.key,
210
211
  state: "error",
211
- text: err.detail ?? err.message
212
+ text: err.detail ?? errorMessage(err)
212
213
  });
213
214
  } finally {
214
215
  runBusyRef.current = false;
@@ -4,8 +4,8 @@ import { Tooltip } from "../../../components/Tooltip.js";
4
4
  import { ErrorNote, FIELD_LABEL_CLASS, FORM_CARD_CLASS, INPUT_CLASS, MetaChip, OpLine } from "../../../components/Form.js";
5
5
  import { RowActionsMenu } from "../../../components/RowActionsMenu.js";
6
6
  import { useDisplayPath } from "../../../hooks/useDisplayPath.js";
7
- import { toSettingsError } from "../../headless/host.js";
8
7
  import { useSettingsHost } from "../../SettingsProvider.js";
8
+ import { toSettingsError } from "../../headless/host.js";
9
9
  import { ExtensionSlot } from "../../../extensions/ExtensionSlot.js";
10
10
  import { SettingsPanel, SettingsPanelActions, SettingsPanelBody } from "../../section.js";
11
11
  import { useSectionLabels } from "../use-section-labels.js";
@@ -7,9 +7,10 @@ declare const DEFAULT_EXTENSION_OPTIONS_LABELS: {
7
7
  /** An action row's Run button while it runs. */
8
8
  extensionOptionsRunning: string;
9
9
  /** An action row this client's token may not run: its Run button's tooltip and name. */
10
- extensionOptionsAdminOnly: string;
11
10
  /** An action row's status while it runs. */
12
11
  extensionOptionsRunningStatus: string;
12
+ /** An action's run failed. What it said goes under Details. */
13
+ extensionOptionsRunFailed: string;
13
14
  /** A model option with nothing picked. */
14
15
  extensionOptionsUnset: string;
15
16
  /** A model option's reset button: name. */
@@ -6,9 +6,10 @@ const DEFAULT_EXTENSION_OPTIONS_LABELS = {
6
6
  /** An action row's Run button while it runs. */
7
7
  extensionOptionsRunning: "Running",
8
8
  /** An action row this client's token may not run: its Run button's tooltip and name. */
9
- extensionOptionsAdminOnly: "Admin only",
10
9
  /** An action row's status while it runs. */
11
10
  extensionOptionsRunningStatus: "running…",
11
+ /** An action's run failed. What it said goes under Details. */
12
+ extensionOptionsRunFailed: "The action failed.",
12
13
  /** A model option with nothing picked. */
13
14
  extensionOptionsUnset: "(unset)",
14
15
  /** A model option's reset button: name. */
@@ -1,8 +1,8 @@
1
1
  import { BTN_LG_SECONDARY, BTN_PRIMARY } from "../../../components/button.js";
2
2
  import { INPUT_CLASS, OpLine } from "../../../components/Form.js";
3
3
  import { LoadError } from "../../../components/LoadError.js";
4
- import { toSettingsError } from "../../headless/host.js";
5
4
  import { useSettingsHost } from "../../SettingsProvider.js";
5
+ import { toSettingsError } from "../../headless/host.js";
6
6
  import { SettingsPanel, SettingsPanelActions, SettingsPanelBody } from "../../section.js";
7
7
  import { useSectionLabels } from "../use-section-labels.js";
8
8
  import { useSettingsRestricted } from "../../SettingsRestricted.js";