pith-ui 0.1.0 → 0.1.1

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 (91) hide show
  1. package/AI.md +8 -0
  2. package/API.md +656 -249
  3. package/README.md +1 -1
  4. package/dist/composer.d.ts.map +1 -1
  5. package/dist/composer.js +13 -4
  6. package/dist/composer.js.map +1 -1
  7. package/dist/content/conversation-view.d.ts +21 -4
  8. package/dist/content/conversation-view.d.ts.map +1 -1
  9. package/dist/content/conversation-view.js +38 -5
  10. package/dist/content/conversation-view.js.map +1 -1
  11. package/dist/content/image-viewer.d.ts +4 -2
  12. package/dist/content/image-viewer.d.ts.map +1 -1
  13. package/dist/content/image-viewer.js +25 -12
  14. package/dist/content/image-viewer.js.map +1 -1
  15. package/dist/content/paged-preview.d.ts.map +1 -1
  16. package/dist/content/paged-preview.js +6 -3
  17. package/dist/content/paged-preview.js.map +1 -1
  18. package/dist/content/welcome.d.ts.map +1 -1
  19. package/dist/content/welcome.js +14 -5
  20. package/dist/content/welcome.js.map +1 -1
  21. package/dist/files/panels.d.ts +6 -1
  22. package/dist/files/panels.d.ts.map +1 -1
  23. package/dist/files/panels.js +48 -7
  24. package/dist/files/panels.js.map +1 -1
  25. package/dist/files/systems.d.ts.map +1 -1
  26. package/dist/files/systems.js +47 -30
  27. package/dist/files/systems.js.map +1 -1
  28. package/dist/forms/actions.d.ts +7 -7
  29. package/dist/forms/actions.d.ts.map +1 -1
  30. package/dist/forms/actions.js +28 -8
  31. package/dist/forms/actions.js.map +1 -1
  32. package/dist/forms/custom-connection.d.ts +2 -1
  33. package/dist/forms/custom-connection.d.ts.map +1 -1
  34. package/dist/forms/custom-connection.js +34 -27
  35. package/dist/forms/custom-connection.js.map +1 -1
  36. package/dist/forms/dialog-frame.d.ts +2 -0
  37. package/dist/forms/dialog-frame.d.ts.map +1 -1
  38. package/dist/forms/dialog-frame.js +46 -26
  39. package/dist/forms/dialog-frame.js.map +1 -1
  40. package/dist/forms/identity.d.ts +12 -0
  41. package/dist/forms/identity.d.ts.map +1 -1
  42. package/dist/forms/identity.js +32 -0
  43. package/dist/forms/identity.js.map +1 -1
  44. package/dist/forms/model-editor.d.ts +8 -3
  45. package/dist/forms/model-editor.d.ts.map +1 -1
  46. package/dist/forms/model-editor.js +73 -62
  47. package/dist/forms/model-editor.js.map +1 -1
  48. package/dist/forms/panels.d.ts +95 -6
  49. package/dist/forms/panels.d.ts.map +1 -1
  50. package/dist/forms/panels.js +142 -27
  51. package/dist/forms/panels.js.map +1 -1
  52. package/dist/forms/provider-login.d.ts.map +1 -1
  53. package/dist/forms/provider-login.js +9 -7
  54. package/dist/forms/provider-login.js.map +1 -1
  55. package/dist/forms/resource-editor.d.ts +9 -5
  56. package/dist/forms/resource-editor.d.ts.map +1 -1
  57. package/dist/forms/resource-editor.js +18 -8
  58. package/dist/forms/resource-editor.js.map +1 -1
  59. package/dist/foundations.d.ts +95 -0
  60. package/dist/foundations.d.ts.map +1 -0
  61. package/dist/foundations.js +315 -0
  62. package/dist/foundations.js.map +1 -0
  63. package/dist/navigation/context-menu.d.ts +1 -0
  64. package/dist/navigation/context-menu.d.ts.map +1 -1
  65. package/dist/navigation/context-menu.js +48 -34
  66. package/dist/navigation/context-menu.js.map +1 -1
  67. package/dist/navigation/navigation.d.ts +42 -7
  68. package/dist/navigation/navigation.d.ts.map +1 -1
  69. package/dist/navigation/navigation.js +197 -14
  70. package/dist/navigation/navigation.js.map +1 -1
  71. package/dist/primitives.d.ts +3 -0
  72. package/dist/primitives.d.ts.map +1 -1
  73. package/dist/primitives.js +60 -168
  74. package/dist/primitives.js.map +1 -1
  75. package/dist/styles.css +32 -28
  76. package/dist/surface.d.ts +29 -0
  77. package/dist/surface.d.ts.map +1 -0
  78. package/dist/surface.js +154 -0
  79. package/dist/surface.js.map +1 -0
  80. package/dist/tasks/approval.d.ts.map +1 -1
  81. package/dist/tasks/approval.js +5 -2
  82. package/dist/tasks/approval.js.map +1 -1
  83. package/dist/tasks/permission.d.ts +5 -3
  84. package/dist/tasks/permission.d.ts.map +1 -1
  85. package/dist/tasks/permission.js +11 -5
  86. package/dist/tasks/permission.js.map +1 -1
  87. package/dist/workspace.d.ts +58 -4
  88. package/dist/workspace.d.ts.map +1 -1
  89. package/dist/workspace.js +120 -15
  90. package/dist/workspace.js.map +1 -1
  91. package/package.json +1 -1
package/API.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Public API reference
2
2
 
3
- Generated for `pith-ui@0.1.0` by `node scripts/api-docs.ts` from TypeScript declaration emit. Do not edit this file by hand. The installed public declarations are authoritative; this reference reproduces every public declaration, including all 73 create/install/mount factories and their state, options, callback and handle types.
3
+ Generated for `pith-ui@0.1.1` by `node scripts/api-docs.ts` from TypeScript declaration emit. Do not edit this file by hand. The installed public declarations are authoritative; this reference reproduces every public declaration, including all 73 create/install/mount factories and their state, options, callback and handle types.
4
4
 
5
5
  Use the [catalog](https://github.com/minifish-org/pith-ui/blob/main/docs/catalog.md) to choose a complete block first, then inspect its exact signature and linked types here. Gallery links are related experiences; adapter APIs may point to their preferred replacement. Source links point to the implementation, not a second usage contract.
6
6
 
@@ -17,7 +17,7 @@ Regenerate: `node scripts/api-docs.ts`. Verify without writing: `node scripts/ap
17
17
  | [`createArtifactPanel`](#createartifactpanel) | [artifact-panel](https://minifish-org.github.io/pith-ui/?item=artifact-panel) |
18
18
  | [`createAttachments`](#createattachments) | [attachments](https://minifish-org.github.io/pith-ui/?item=attachments) |
19
19
  | [`createBranchHistory`](#createbranchhistory) | [branch-history](https://minifish-org.github.io/pith-ui/?item=branch-history) |
20
- | [`createButton`](#createbutton) | [actions](https://minifish-org.github.io/pith-ui/?item=actions), [button](https://minifish-org.github.io/pith-ui/?item=button), [confirmation](https://minifish-org.github.io/pith-ui/?item=confirmation), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [resources-panel](https://minifish-org.github.io/pith-ui/?item=resources-panel), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [text-edit-dialog](https://minifish-org.github.io/pith-ui/?item=text-edit-dialog), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar) |
20
+ | [`createButton`](#createbutton) | [actions](https://minifish-org.github.io/pith-ui/?item=actions), [button](https://minifish-org.github.io/pith-ui/?item=button), [confirmation](https://minifish-org.github.io/pith-ui/?item=confirmation), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [text-edit-dialog](https://minifish-org.github.io/pith-ui/?item=text-edit-dialog), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar) |
21
21
  | [`createCheckbox`](#createcheckbox) | [checkbox](https://minifish-org.github.io/pith-ui/?item=checkbox), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion) |
22
22
  | [`createCollectionState`](#createcollectionstate) | [collection-state](https://minifish-org.github.io/pith-ui/?item=collection-state) |
23
23
  | [`createCompletionNotices`](#createcompletionnotices) | [completion-notices](https://minifish-org.github.io/pith-ui/?item=completion-notices) |
@@ -77,7 +77,7 @@ Regenerate: `node scripts/api-docs.ts`. Verify without writing: `node scripts/ap
77
77
  | [`createTextEditDialog`](#createtexteditdialog) | [pending-messages](https://minifish-org.github.io/pith-ui/?item=pending-messages), [text-edit-dialog](https://minifish-org.github.io/pith-ui/?item=text-edit-dialog) |
78
78
  | [`createTextInput`](#createtextinput) | [form-section](https://minifish-org.github.io/pith-ui/?item=form-section), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [popover](https://minifish-org.github.io/pith-ui/?item=popover), [text-input](https://minifish-org.github.io/pith-ui/?item=text-input) |
79
79
  | [`createToolbar`](#createtoolbar) | [button](https://minifish-org.github.io/pith-ui/?item=button), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [icon-button](https://minifish-org.github.io/pith-ui/?item=icon-button), [icons](https://minifish-org.github.io/pith-ui/?item=icons), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar) |
80
- | [`createUpdatePanel`](#createupdatepanel) | [updates](https://minifish-org.github.io/pith-ui/?item=updates) |
80
+ | [`createUpdatePanel`](#createupdatepanel) | [settings-panel](https://minifish-org.github.io/pith-ui/?item=settings-panel), [updates](https://minifish-org.github.io/pith-ui/?item=updates) |
81
81
  | [`createWelcomeView`](#createwelcomeview) | [welcome](https://minifish-org.github.io/pith-ui/?item=welcome) |
82
82
  | [`createWorkspaceNavigation`](#createworkspacenavigation) | [workspace-navigation](https://minifish-org.github.io/pith-ui/?item=workspace-navigation) |
83
83
  | [`createWorkspacePicker`](#createworkspacepicker) | [workspace-picker](https://minifish-org.github.io/pith-ui/?item=workspace-picker) |
@@ -90,7 +90,7 @@ Regenerate: `node scripts/api-docs.ts`. Verify without writing: `node scripts/ap
90
90
 
91
91
  ### createAttachments
92
92
 
93
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L63)
93
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L66)
94
94
 
95
95
  ```ts
96
96
  export declare function createAttachments(options?: {
@@ -106,7 +106,7 @@ Related gallery: [attachments](https://minifish-org.github.io/pith-ui/?item=atta
106
106
 
107
107
  ### createDropFeedback
108
108
 
109
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L53)
109
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L56)
110
110
 
111
111
  ```ts
112
112
  export declare function createDropFeedback(options: {
@@ -123,7 +123,7 @@ Related gallery: [drop-feedback](https://minifish-org.github.io/pith-ui/?item=dr
123
123
 
124
124
  ### createPendingMessages
125
125
 
126
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L10)
126
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L11)
127
127
 
128
128
  ```ts
129
129
  export declare function createPendingMessages(options?: PendingMessagesOptions): UIBlock<PendingMessagesState>;
@@ -135,7 +135,7 @@ Related gallery: [pending-messages](https://minifish-org.github.io/pith-ui/?item
135
135
 
136
136
  ### AttachmentItem
137
137
 
138
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L51)
138
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L54)
139
139
 
140
140
  ```ts
141
141
  export interface AttachmentItem {
@@ -147,7 +147,7 @@ export interface AttachmentItem {
147
147
 
148
148
  ### AttachmentsState
149
149
 
150
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L62)
150
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L65)
151
151
 
152
152
  ```ts
153
153
  export interface AttachmentsState {
@@ -160,7 +160,7 @@ Referenced public types and APIs: [`AttachmentItem`](#attachmentitem).
160
160
 
161
161
  ### PendingMessage
162
162
 
163
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L4)
163
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L5)
164
164
 
165
165
  ```ts
166
166
  export interface PendingMessage {
@@ -173,7 +173,7 @@ export interface PendingMessage {
173
173
 
174
174
  ### PendingMessagesOptions
175
175
 
176
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L6)
176
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L7)
177
177
 
178
178
  ```ts
179
179
  export interface PendingMessagesOptions {
@@ -184,7 +184,7 @@ export interface PendingMessagesOptions {
184
184
 
185
185
  ### PendingMessagesState
186
186
 
187
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L5)
187
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L6)
188
188
 
189
189
  ```ts
190
190
  export interface PendingMessagesState {
@@ -254,19 +254,19 @@ export interface TextRange {
254
254
 
255
255
  ### createConversationView
256
256
 
257
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L34)
257
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L43)
258
258
 
259
259
  ```ts
260
- export declare function createConversationView(options?: ConversationViewOptions): UIBlock<ConversationViewState>;
260
+ export declare function createConversationView(options?: ConversationViewOptions): ConversationViewBlock;
261
261
  ```
262
262
 
263
- Referenced public types and APIs: [`ConversationViewOptions`](#conversationviewoptions), [`ConversationViewState`](#conversationviewstate), [`UIBlock`](#uiblock).
263
+ Referenced public types and APIs: [`ConversationViewBlock`](#conversationviewblock), [`ConversationViewOptions`](#conversationviewoptions).
264
264
 
265
265
  Related gallery: [conversation-messages](https://minifish-org.github.io/pith-ui/?item=conversation-messages), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion).
266
266
 
267
267
  ### ConversationAction
268
268
 
269
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L25)
269
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L26)
270
270
 
271
271
  ```ts
272
272
  export interface ConversationAction {
@@ -276,9 +276,34 @@ export interface ConversationAction {
276
276
  }
277
277
  ```
278
278
 
279
+ ### ConversationActionAvailability
280
+
281
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L27)
282
+
283
+ ```ts
284
+ export interface ConversationActionAvailability {
285
+ copy?: boolean;
286
+ edit?: boolean;
287
+ branch?: boolean;
288
+ }
289
+ ```
290
+
291
+ ### ConversationImageState
292
+
293
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L28)
294
+
295
+ ```ts
296
+ export type ConversationImageState = {
297
+ status: 'ready';
298
+ src: string;
299
+ } | {
300
+ status: 'unavailable';
301
+ };
302
+ ```
303
+
279
304
  ### ConversationMessage
280
305
 
281
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L7)
306
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L8)
282
307
 
283
308
  ```ts
284
309
  /** UI data only. Hosts decide copy/edit/branch eligibility and resolve images. */
@@ -312,16 +337,31 @@ export interface ConversationMessage {
312
337
 
313
338
  Related gallery: [conversation-messages](https://minifish-org.github.io/pith-ui/?item=conversation-messages), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader).
314
339
 
340
+ ### ConversationViewBlock
341
+
342
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L29)
343
+
344
+ ```ts
345
+ export interface ConversationViewBlock extends UIBlock<ConversationViewState> {
346
+ /** Disabled state, separate from whether an action exists for a message. */
347
+ updateActionAvailability(disabled: Readonly<ConversationActionAvailability>): void;
348
+ images(): readonly HTMLImageElement[];
349
+ setImageState(image: HTMLImageElement, state: ConversationImageState): void;
350
+ }
351
+ ```
352
+
353
+ Referenced public types and APIs: [`ConversationActionAvailability`](#conversationactionavailability), [`ConversationImageState`](#conversationimagestate), [`ConversationViewState`](#conversationviewstate), [`UIBlock`](#uiblock).
354
+
315
355
  ### ConversationViewOptions
316
356
 
317
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L26)
357
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L35)
318
358
 
319
359
  ```ts
320
360
  export interface ConversationViewOptions {
321
361
  container?: HTMLElement;
322
362
  markdown?: (conversationId: string) => MarkdownOptions;
323
- onAction?: (action: ConversationAction) => void;
324
- onCopyCode?: (text: string) => void;
363
+ onAction?: (action: ConversationAction, button: HTMLButtonElement) => void;
364
+ onCopyCode?: (text: string, button: HTMLButtonElement) => void;
325
365
  }
326
366
  ```
327
367
 
@@ -329,7 +369,7 @@ Referenced public types and APIs: [`ConversationAction`](#conversationaction), [
329
369
 
330
370
  ### ConversationViewState
331
371
 
332
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L19)
372
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L20)
333
373
 
334
374
  ```ts
335
375
  export interface ConversationViewState {
@@ -346,7 +386,7 @@ Referenced public types and APIs: [`ConversationMessage`](#conversationmessage).
346
386
 
347
387
  ### createImageViewer
348
388
 
349
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L8)
389
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L9)
350
390
 
351
391
  ```ts
352
392
  /** A modal above either a generated-file preview or a conversation attachment. */
@@ -364,14 +404,16 @@ Related gallery: [image-viewer](https://minifish-org.github.io/pith-ui/?item=ima
364
404
 
365
405
  ### installImageViewer
366
406
 
367
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L87)
407
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L88)
368
408
 
369
409
  ```ts
370
- export declare function installImageViewer(dialog: HTMLDialogElement): {
410
+ export declare function installImageViewer(dialog: HTMLDialogElement, options?: {
411
+ triggerRoot?: HTMLElement;
412
+ }): {
413
+ destroy(): void;
371
414
  element: HTMLDialogElement;
372
415
  open(target: HTMLImageElement | ImageViewerInput): void;
373
416
  close: () => void;
374
- destroy(): void;
375
417
  };
376
418
  ```
377
419
 
@@ -381,7 +423,7 @@ Related gallery: [image-viewer](https://minifish-org.github.io/pith-ui/?item=ima
381
423
 
382
424
  ### ImageViewerInput
383
425
 
384
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L4)
426
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L5)
385
427
 
386
428
  ```ts
387
429
  export interface ImageViewerInput {
@@ -393,7 +435,7 @@ export interface ImageViewerInput {
393
435
 
394
436
  ### ImageViewerOptions
395
437
 
396
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L3)
438
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L4)
397
439
 
398
440
  ```ts
399
441
  export interface ImageViewerOptions {
@@ -451,7 +493,7 @@ Referenced public types and APIs: [`MarkdownOptions`](#markdownoptions).
451
493
 
452
494
  ### createPagedPreview
453
495
 
454
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L30)
496
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L31)
455
497
 
456
498
  ```ts
457
499
  export declare function createPagedPreview(options: PagedPreviewOptions): UIBlock<PagedPreviewState>;
@@ -463,7 +505,7 @@ Related gallery: [markdown-content](https://minifish-org.github.io/pith-ui/?item
463
505
 
464
506
  ### mountPagedPreview
465
507
 
466
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L59)
508
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L60)
467
509
 
468
510
  ```ts
469
511
  export declare function mountPagedPreview(container: HTMLElement, text: string, kind: PreviewKind): void;
@@ -475,7 +517,7 @@ Related gallery: [markdown-content](https://minifish-org.github.io/pith-ui/?item
475
517
 
476
518
  ### PagedPreviewOptions
477
519
 
478
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L28)
520
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L29)
479
521
 
480
522
  ```ts
481
523
  export interface PagedPreviewOptions extends PagedPreviewState {
@@ -488,7 +530,7 @@ Referenced public types and APIs: [`PagedPreviewState`](#pagedpreviewstate).
488
530
 
489
531
  ### PagedPreviewState
490
532
 
491
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L27)
533
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L28)
492
534
 
493
535
  ```ts
494
536
  export interface PagedPreviewState {
@@ -501,7 +543,7 @@ Referenced public types and APIs: [`PreviewKind`](#previewkind).
501
543
 
502
544
  ### PreviewKind
503
545
 
504
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L26)
546
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L27)
505
547
 
506
548
  ```ts
507
549
  export type PreviewKind = 'text' | 'markdown' | 'diff';
@@ -509,7 +551,7 @@ export type PreviewKind = 'text' | 'markdown' | 'diff';
509
551
 
510
552
  ### previewPageBytes
511
553
 
512
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L6)
554
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L7)
513
555
 
514
556
  ```ts
515
557
  export declare const previewPageBytes: number;
@@ -517,7 +559,7 @@ export declare const previewPageBytes: number;
517
559
 
518
560
  ### previewPageRanges
519
561
 
520
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L8)
562
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L9)
521
563
 
522
564
  ```ts
523
565
  export declare function previewPageRanges(bytes: Uint8Array, window?: number): Array<[
@@ -700,7 +742,7 @@ export declare function element<K extends keyof HTMLElementTagNameMap>(tag: K, c
700
742
 
701
743
  Referenced public types and APIs: [`DOMChild`](#domchild).
702
744
 
703
- Related gallery: [actions](https://minifish-org.github.io/pith-ui/?item=actions), [artifact-panel](https://minifish-org.github.io/pith-ui/?item=artifact-panel), [button](https://minifish-org.github.io/pith-ui/?item=button), [collection-state](https://minifish-org.github.io/pith-ui/?item=collection-state), [completion-notices](https://minifish-org.github.io/pith-ui/?item=completion-notices), [composer](https://minifish-org.github.io/pith-ui/?item=composer), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-messages](https://minifish-org.github.io/pith-ui/?item=conversation-messages), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [disclosure](https://minifish-org.github.io/pith-ui/?item=disclosure), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [file-actions](https://minifish-org.github.io/pith-ui/?item=file-actions), [file-preview](https://minifish-org.github.io/pith-ui/?item=file-preview), [form-section](https://minifish-org.github.io/pith-ui/?item=form-section), [foundation-borders](https://minifish-org.github.io/pith-ui/?item=foundation-borders), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [foundation-surfaces](https://minifish-org.github.io/pith-ui/?item=foundation-surfaces), [foundation-typography](https://minifish-org.github.io/pith-ui/?item=foundation-typography), [icon-button](https://minifish-org.github.io/pith-ui/?item=icon-button), [icons](https://minifish-org.github.io/pith-ui/?item=icons), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [mcp-connections](https://minifish-org.github.io/pith-ui/?item=mcp-connections), [model-picker](https://minifish-org.github.io/pith-ui/?item=model-picker), [pending-messages](https://minifish-org.github.io/pith-ui/?item=pending-messages), [permission-control](https://minifish-org.github.io/pith-ui/?item=permission-control), [popover](https://minifish-org.github.io/pith-ui/?item=popover), [provider-resource-actions](https://minifish-org.github.io/pith-ui/?item=provider-resource-actions), [resource-editor](https://minifish-org.github.io/pith-ui/?item=resource-editor), [resources-panel](https://minifish-org.github.io/pith-ui/?item=resources-panel), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [scroll-area](https://minifish-org.github.io/pith-ui/?item=scroll-area), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar), [updates](https://minifish-org.github.io/pith-ui/?item=updates), [workspace-navigation](https://minifish-org.github.io/pith-ui/?item=workspace-navigation).
745
+ Related gallery: [actions](https://minifish-org.github.io/pith-ui/?item=actions), [artifact-panel](https://minifish-org.github.io/pith-ui/?item=artifact-panel), [button](https://minifish-org.github.io/pith-ui/?item=button), [collection-state](https://minifish-org.github.io/pith-ui/?item=collection-state), [completion-notices](https://minifish-org.github.io/pith-ui/?item=completion-notices), [composer](https://minifish-org.github.io/pith-ui/?item=composer), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-messages](https://minifish-org.github.io/pith-ui/?item=conversation-messages), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [disclosure](https://minifish-org.github.io/pith-ui/?item=disclosure), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [file-actions](https://minifish-org.github.io/pith-ui/?item=file-actions), [file-preview](https://minifish-org.github.io/pith-ui/?item=file-preview), [form-section](https://minifish-org.github.io/pith-ui/?item=form-section), [foundation-borders](https://minifish-org.github.io/pith-ui/?item=foundation-borders), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [foundation-surfaces](https://minifish-org.github.io/pith-ui/?item=foundation-surfaces), [foundation-typography](https://minifish-org.github.io/pith-ui/?item=foundation-typography), [icon-button](https://minifish-org.github.io/pith-ui/?item=icon-button), [icons](https://minifish-org.github.io/pith-ui/?item=icons), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [mcp-connections](https://minifish-org.github.io/pith-ui/?item=mcp-connections), [pending-messages](https://minifish-org.github.io/pith-ui/?item=pending-messages), [permission-control](https://minifish-org.github.io/pith-ui/?item=permission-control), [popover](https://minifish-org.github.io/pith-ui/?item=popover), [provider-resource-actions](https://minifish-org.github.io/pith-ui/?item=provider-resource-actions), [resources-panel](https://minifish-org.github.io/pith-ui/?item=resources-panel), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [scroll-area](https://minifish-org.github.io/pith-ui/?item=scroll-area), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar), [updates](https://minifish-org.github.io/pith-ui/?item=updates), [workspace-navigation](https://minifish-org.github.io/pith-ui/?item=workspace-navigation).
704
746
 
705
747
  ### escape
706
748
 
@@ -775,7 +817,7 @@ Related gallery: [foundation-focus](https://minifish-org.github.io/pith-ui/?item
775
817
 
776
818
  ### createArtifactPanel
777
819
 
778
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L30)
820
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L33)
779
821
 
780
822
  ```ts
781
823
  export declare function createArtifactPanel(options: ArtifactPanelOptions): {
@@ -793,7 +835,7 @@ Related gallery: [artifact-panel](https://minifish-org.github.io/pith-ui/?item=a
793
835
 
794
836
  ### createFileActions
795
837
 
796
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L16)
838
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L19)
797
839
 
798
840
  ```ts
799
841
  export declare function createFileActions(options: FileActionOptions): {
@@ -808,7 +850,7 @@ Related gallery: [file-actions](https://minifish-org.github.io/pith-ui/?item=fil
808
850
 
809
851
  ### createFilePreview
810
852
 
811
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L153)
853
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L179)
812
854
 
813
855
  ```ts
814
856
  export declare function createFilePreview(options?: FilePreviewOptions): {
@@ -830,13 +872,14 @@ Related gallery: [file-preview](https://minifish-org.github.io/pith-ui/?item=fil
830
872
 
831
873
  ### createResourcesPanel
832
874
 
833
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L94)
875
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L105)
834
876
 
835
877
  ```ts
836
878
  export declare function createResourcesPanel(options?: ResourcesPanelOptions): {
837
879
  element: HTMLElement;
838
- open(workspaceName: string, toolbar: Node): void;
880
+ open(workspaceName: string, toolbar?: Node): void;
839
881
  setError(message: string): void;
882
+ setCreateDisabled(disabled: boolean): void;
840
883
  update(state: Readonly<ResourcesPanelState>): void;
841
884
  destroy(): void;
842
885
  };
@@ -848,7 +891,7 @@ Related gallery: [resources-panel](https://minifish-org.github.io/pith-ui/?item=
848
891
 
849
892
  ### ArtifactPanelOptions
850
893
 
851
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L29)
894
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L32)
852
895
 
853
896
  ```ts
854
897
  export interface ArtifactPanelOptions {
@@ -857,12 +900,13 @@ export interface ArtifactPanelOptions {
857
900
  toggle: HTMLElement;
858
901
  count: HTMLElement;
859
902
  headingId?: string;
903
+ dismissExclusions?: readonly HTMLElement[];
860
904
  }
861
905
  ```
862
906
 
863
907
  ### ArtifactPanelState
864
908
 
865
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L28)
909
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L31)
866
910
 
867
911
  ```ts
868
912
  export interface ArtifactPanelState {
@@ -879,7 +923,7 @@ export interface ArtifactPanelState {
879
923
 
880
924
  ### FileActionOptions
881
925
 
882
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L5)
926
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L7)
883
927
 
884
928
  ```ts
885
929
  export interface FileActionOptions {
@@ -894,7 +938,7 @@ export interface FileActionOptions {
894
938
 
895
939
  ### fileActionsMarkup
896
940
 
897
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L10)
941
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L12)
898
942
 
899
943
  ```ts
900
944
  export declare function fileActionsMarkup(options: FileActionOptions): string;
@@ -904,7 +948,7 @@ Referenced public types and APIs: [`FileActionOptions`](#fileactionoptions).
904
948
 
905
949
  ### FilePreviewOptions
906
950
 
907
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L152)
951
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L178)
908
952
 
909
953
  ```ts
910
954
  export interface FilePreviewOptions {
@@ -918,7 +962,7 @@ export interface FilePreviewOptions {
918
962
 
919
963
  ### FilePreviewState
920
964
 
921
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L151)
965
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L177)
922
966
 
923
967
  ```ts
924
968
  export interface FilePreviewState {
@@ -935,7 +979,7 @@ Referenced public types and APIs: [`PreviewKind`](#previewkind).
935
979
 
936
980
  ### ResourceDisplayEntry
937
981
 
938
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L88)
982
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L99)
939
983
 
940
984
  ```ts
941
985
  export interface ResourceDisplayEntry {
@@ -950,7 +994,7 @@ export interface ResourceDisplayEntry {
950
994
 
951
995
  ### ResourcesPanelOptions
952
996
 
953
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L93)
997
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L104)
954
998
 
955
999
  ```ts
956
1000
  export interface ResourcesPanelOptions {
@@ -960,12 +1004,14 @@ export interface ResourcesPanelOptions {
960
1004
  listId?: string;
961
1005
  errorId?: string;
962
1006
  onClose?: () => void;
1007
+ onRefresh?: () => void;
1008
+ onCreate?: (kind: 'instructions' | 'skill' | 'template') => void;
963
1009
  }
964
1010
  ```
965
1011
 
966
1012
  ### ResourcesPanelState
967
1013
 
968
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L89)
1014
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L100)
969
1015
 
970
1016
  ```ts
971
1017
  export interface ResourcesPanelState {
@@ -974,6 +1020,7 @@ export interface ResourcesPanelState {
974
1020
  templates: readonly ResourceDisplayEntry[];
975
1021
  diagnostics: readonly string[];
976
1022
  createInstructions?: Node;
1023
+ canCreateInstructions?: boolean;
977
1024
  }
978
1025
  ```
979
1026
 
@@ -983,7 +1030,7 @@ Referenced public types and APIs: [`ResourceDisplayEntry`](#resourcedisplayentry
983
1030
 
984
1031
  ### createCompletionNotices
985
1032
 
986
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L120)
1033
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L123)
987
1034
 
988
1035
  ```ts
989
1036
  export declare function createCompletionNotices(options?: {
@@ -999,7 +1046,7 @@ Related gallery: [completion-notices](https://minifish-org.github.io/pith-ui/?it
999
1046
 
1000
1047
  ### createCopyFeedback
1001
1048
 
1002
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L159)
1049
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L166)
1003
1050
 
1004
1051
  ```ts
1005
1052
  export declare function createCopyFeedback(options: {
@@ -1016,7 +1063,7 @@ Related gallery: [copy-feedback](https://minifish-org.github.io/pith-ui/?item=co
1016
1063
 
1017
1064
  ### createCostLedger
1018
1065
 
1019
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L21)
1066
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L23)
1020
1067
 
1021
1068
  ```ts
1022
1069
  export declare function createCostLedger(options?: {
@@ -1037,7 +1084,7 @@ Related gallery: [cost-ledger](https://minifish-org.github.io/pith-ui/?item=cost
1037
1084
 
1038
1085
  ### createUpdatePanel
1039
1086
 
1040
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L80)
1087
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L82)
1041
1088
 
1042
1089
  ```ts
1043
1090
  export declare function createUpdatePanel(options?: {
@@ -1058,11 +1105,11 @@ export declare function createUpdatePanel(options?: {
1058
1105
 
1059
1106
  Referenced public types and APIs: [`UpdatePanelState`](#updatepanelstate).
1060
1107
 
1061
- Related gallery: [updates](https://minifish-org.github.io/pith-ui/?item=updates).
1108
+ Related gallery: [settings-panel](https://minifish-org.github.io/pith-ui/?item=settings-panel), [updates](https://minifish-org.github.io/pith-ui/?item=updates).
1062
1109
 
1063
1110
  ### CompletionNoticeDisplay
1064
1111
 
1065
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L113)
1112
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L116)
1066
1113
 
1067
1114
  ```ts
1068
1115
  export interface CompletionNoticeDisplay {
@@ -1077,7 +1124,7 @@ Related gallery: [completion-notices](https://minifish-org.github.io/pith-ui/?it
1077
1124
 
1078
1125
  ### CostLedgerState
1079
1126
 
1080
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L20)
1127
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L22)
1081
1128
 
1082
1129
  ```ts
1083
1130
  export interface CostLedgerState {
@@ -1090,7 +1137,7 @@ Referenced public types and APIs: [`CostRequestDisplay`](#costrequestdisplay).
1090
1137
 
1091
1138
  ### CostRequestDisplay
1092
1139
 
1093
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L15)
1140
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L17)
1094
1141
 
1095
1142
  ```ts
1096
1143
  export interface CostRequestDisplay {
@@ -1120,7 +1167,7 @@ export interface CostRequestDisplay {
1120
1167
 
1121
1168
  ### CostSummaryDisplay
1122
1169
 
1123
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L6)
1170
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L8)
1124
1171
 
1125
1172
  ```ts
1126
1173
  export interface CostSummaryDisplay {
@@ -1136,7 +1183,7 @@ export interface CostSummaryDisplay {
1136
1183
 
1137
1184
  ### formatCost
1138
1185
 
1139
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L7)
1186
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L9)
1140
1187
 
1141
1188
  ```ts
1142
1189
  export declare function formatCost(cost: CostSummaryDisplay | undefined, latestTask?: boolean): string;
@@ -1146,7 +1193,7 @@ Referenced public types and APIs: [`CostSummaryDisplay`](#costsummarydisplay).
1146
1193
 
1147
1194
  ### historyStatusMarkup
1148
1195
 
1149
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L114)
1196
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L117)
1150
1197
 
1151
1198
  ```ts
1152
1199
  export declare function historyStatusMarkup(status: 'approval' | 'running' | 'unread' | 'idle'): string;
@@ -1156,7 +1203,7 @@ Related gallery: [completion-notices](https://minifish-org.github.io/pith-ui/?it
1156
1203
 
1157
1204
  ### UpdatePanelState
1158
1205
 
1159
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L79)
1206
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L81)
1160
1207
 
1161
1208
  ```ts
1162
1209
  export interface UpdatePanelState {
@@ -1173,35 +1220,44 @@ export interface UpdatePanelState {
1173
1220
 
1174
1221
  ### createProviderActions
1175
1222
 
1176
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L16)
1223
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L28)
1177
1224
 
1178
1225
  ```ts
1179
- export declare function createProviderActions(state: ProviderActionsState, options?: {
1180
- onAction?: (action: string, target: DOMStringMap) => void;
1181
- }): UIBlock<ProviderActionsState>;
1226
+ export declare function createProviderActions(state: ProviderActionsState, options?: FeatureActionOptions): UIBlock<ProviderActionsState>;
1182
1227
  ```
1183
1228
 
1184
- Referenced public types and APIs: [`ProviderActionsState`](#provideractionsstate), [`UIBlock`](#uiblock).
1229
+ Referenced public types and APIs: [`FeatureActionOptions`](#featureactionoptions), [`ProviderActionsState`](#provideractionsstate), [`UIBlock`](#uiblock).
1185
1230
 
1186
1231
  Related gallery: [provider-resource-actions](https://minifish-org.github.io/pith-ui/?item=provider-resource-actions).
1187
1232
 
1188
1233
  ### createResourceActions
1189
1234
 
1190
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L17)
1235
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L29)
1191
1236
 
1192
1237
  ```ts
1193
- export declare function createResourceActions(state: ResourceActionsState, options?: {
1194
- onAction?: (action: string, target: DOMStringMap) => void;
1195
- }): UIBlock<ResourceActionsState>;
1238
+ export declare function createResourceActions(state: ResourceActionsState, options?: FeatureActionOptions): UIBlock<ResourceActionsState>;
1196
1239
  ```
1197
1240
 
1198
- Referenced public types and APIs: [`ResourceActionsState`](#resourceactionsstate), [`UIBlock`](#uiblock).
1241
+ Referenced public types and APIs: [`FeatureActionOptions`](#featureactionoptions), [`ResourceActionsState`](#resourceactionsstate), [`UIBlock`](#uiblock).
1199
1242
 
1200
1243
  Related gallery: [provider-resource-actions](https://minifish-org.github.io/pith-ui/?item=provider-resource-actions), [resources-panel](https://minifish-org.github.io/pith-ui/?item=resources-panel).
1201
1244
 
1245
+ ### FeatureActionOptions
1246
+
1247
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L11)
1248
+
1249
+ ```ts
1250
+ export interface FeatureActionOptions {
1251
+ onAction?: (action: string, target: DOMStringMap) => ReturnType<UIAction>;
1252
+ onError?: (message: string) => void;
1253
+ }
1254
+ ```
1255
+
1256
+ Referenced public types and APIs: [`UIAction`](#uiaction).
1257
+
1202
1258
  ### providerActionsMarkup
1203
1259
 
1204
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L5)
1260
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L6)
1205
1261
 
1206
1262
  ```ts
1207
1263
  export declare function providerActionsMarkup(provider: ProviderActionsState): string;
@@ -1211,7 +1267,7 @@ Referenced public types and APIs: [`ProviderActionsState`](#provideractionsstate
1211
1267
 
1212
1268
  ### ProviderActionsState
1213
1269
 
1214
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L3)
1270
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L4)
1215
1271
 
1216
1272
  ```ts
1217
1273
  export interface ProviderActionsState {
@@ -1224,7 +1280,7 @@ export interface ProviderActionsState {
1224
1280
 
1225
1281
  ### resourceActionsMarkup
1226
1282
 
1227
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L6)
1283
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L7)
1228
1284
 
1229
1285
  ```ts
1230
1286
  export declare function resourceActionsMarkup(kind: string, resource: {
@@ -1235,7 +1291,7 @@ export declare function resourceActionsMarkup(kind: string, resource: {
1235
1291
 
1236
1292
  ### ResourceActionsState
1237
1293
 
1238
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L4)
1294
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L5)
1239
1295
 
1240
1296
  ```ts
1241
1297
  export interface ResourceActionsState {
@@ -1252,24 +1308,25 @@ export interface ResourceActionsState {
1252
1308
 
1253
1309
  ### createCustomConnectionEditor
1254
1310
 
1255
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L26)
1311
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L28)
1256
1312
 
1257
1313
  ```ts
1258
1314
  export declare function createCustomConnectionEditor(state: CustomConnectionState, options?: {
1259
1315
  idPrefix?: string;
1316
+ onSubmit?: (draft: CustomConnectionDraft) => ActionResult | Promise<ActionResult>;
1260
1317
  }): UIBlock<CustomConnectionState> & {
1261
1318
  read(): CustomConnectionDraft;
1262
1319
  readonly form: HTMLFormElement;
1263
1320
  };
1264
1321
  ```
1265
1322
 
1266
- Referenced public types and APIs: [`CustomConnectionDraft`](#customconnectiondraft), [`CustomConnectionState`](#customconnectionstate), [`UIBlock`](#uiblock).
1323
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`CustomConnectionDraft`](#customconnectiondraft), [`CustomConnectionState`](#customconnectionstate), [`UIBlock`](#uiblock).
1267
1324
 
1268
1325
  Related gallery: [custom-connection](https://minifish-org.github.io/pith-ui/?item=custom-connection).
1269
1326
 
1270
1327
  ### createCustomModelRow
1271
1328
 
1272
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L11)
1329
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L12)
1273
1330
 
1274
1331
  ```ts
1275
1332
  export declare function createCustomModelRow(model: CustomModelRowState, index?: number): UIBlock<CustomModelRowState> & {
@@ -1284,7 +1341,7 @@ Related gallery: [custom-connection](https://minifish-org.github.io/pith-ui/?ite
1284
1341
 
1285
1342
  ### CustomConnectionDraft
1286
1343
 
1287
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L7)
1344
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L8)
1288
1345
 
1289
1346
  ```ts
1290
1347
  export interface CustomConnectionDraft {
@@ -1300,7 +1357,7 @@ Referenced public types and APIs: [`CustomModelDraft`](#custommodeldraft).
1300
1357
 
1301
1358
  ### CustomConnectionState
1302
1359
 
1303
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L5)
1360
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L6)
1304
1361
 
1305
1362
  ```ts
1306
1363
  export interface CustomConnectionState {
@@ -1318,7 +1375,7 @@ Referenced public types and APIs: [`CustomModelValue`](#custommodelvalue).
1318
1375
 
1319
1376
  ### CustomModelDraft
1320
1377
 
1321
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L6)
1378
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L7)
1322
1379
 
1323
1380
  ```ts
1324
1381
  export interface CustomModelDraft {
@@ -1340,7 +1397,7 @@ export interface CustomModelDraft {
1340
1397
 
1341
1398
  ### CustomModelRowState
1342
1399
 
1343
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L10)
1400
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L11)
1344
1401
 
1345
1402
  ```ts
1346
1403
  export interface CustomModelRowState extends CustomModelValue {
@@ -1353,7 +1410,7 @@ Referenced public types and APIs: [`CustomModelValue`](#custommodelvalue).
1353
1410
 
1354
1411
  ### CustomModelValue
1355
1412
 
1356
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L4)
1413
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L5)
1357
1414
 
1358
1415
  ```ts
1359
1416
  export interface CustomModelValue {
@@ -1376,13 +1433,14 @@ export interface CustomModelValue {
1376
1433
 
1377
1434
  ### createFeatureDialogFrame
1378
1435
 
1379
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L8)
1436
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L10)
1380
1437
 
1381
1438
  ```ts
1382
1439
  export declare function createFeatureDialogFrame(options?: FeatureDialogOptions): UIBlock<FeatureDialogState> & {
1383
1440
  open(state: FeatureDialogState): void;
1384
1441
  close(): void;
1385
1442
  fail(message: string): void;
1443
+ isOpen(): boolean;
1386
1444
  };
1387
1445
  ```
1388
1446
 
@@ -1392,7 +1450,7 @@ Related gallery: [feature-dialog](https://minifish-org.github.io/pith-ui/?item=f
1392
1450
 
1393
1451
  ### createFeatureStatus
1394
1452
 
1395
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L38)
1453
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L57)
1396
1454
 
1397
1455
  ```ts
1398
1456
  export declare function createFeatureStatus(state: {
@@ -1410,7 +1468,7 @@ Related gallery: [feature-dialog](https://minifish-org.github.io/pith-ui/?item=f
1410
1468
 
1411
1469
  ### createSDKDialogElements
1412
1470
 
1413
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L43)
1471
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L63)
1414
1472
 
1415
1473
  ```ts
1416
1474
  export declare function createSDKDialogElements(options?: {
@@ -1428,7 +1486,7 @@ Related gallery: [feature-dialog](https://minifish-org.github.io/pith-ui/?item=f
1428
1486
 
1429
1487
  ### DialogContent
1430
1488
 
1431
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L5)
1489
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L7)
1432
1490
 
1433
1491
  ```ts
1434
1492
  export interface DialogContent {
@@ -1439,7 +1497,7 @@ export interface DialogContent {
1439
1497
 
1440
1498
  ### FeatureDialogOptions
1441
1499
 
1442
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L7)
1500
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L9)
1443
1501
 
1444
1502
  ```ts
1445
1503
  export interface FeatureDialogOptions {
@@ -1449,12 +1507,13 @@ export interface FeatureDialogOptions {
1449
1507
  titleId?: string;
1450
1508
  errorId?: string;
1451
1509
  eyebrow?: string;
1510
+ onClose?: () => void;
1452
1511
  }
1453
1512
  ```
1454
1513
 
1455
1514
  ### FeatureDialogState
1456
1515
 
1457
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L6)
1516
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L8)
1458
1517
 
1459
1518
  ```ts
1460
1519
  export interface FeatureDialogState {
@@ -1512,31 +1571,52 @@ Referenced public types and APIs: [`BranchHistoryNode`](#branchhistorynode).
1512
1571
 
1513
1572
  ### createModelEditor
1514
1573
 
1515
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L9)
1574
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L37)
1516
1575
 
1517
1576
  ```ts
1518
1577
  export declare function createModelEditor(initial: ModelEditorState, options?: {
1519
1578
  prefix?: string;
1520
1579
  element?: HTMLElement;
1521
1580
  onChange?: (selection: ModelSelection) => void;
1522
- }): UIBlock<ModelEditorState> & {
1581
+ }): ModelEditorBlock;
1582
+ ```
1583
+
1584
+ Referenced public types and APIs: [`ModelEditorBlock`](#modeleditorblock), [`ModelEditorState`](#modeleditorstate), [`ModelSelection`](#modelselection).
1585
+
1586
+ Related gallery: [model-picker](https://minifish-org.github.io/pith-ui/?item=model-picker).
1587
+
1588
+ ### ModelEditorBlock
1589
+
1590
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L30)
1591
+
1592
+ ```ts
1593
+ export interface ModelEditorBlock extends UIBlock<ModelEditorState> {
1523
1594
  read(): ModelSelection;
1524
- };
1595
+ reset(selection: ModelSelection): void;
1596
+ focus(): void;
1597
+ }
1525
1598
  ```
1526
1599
 
1527
1600
  Referenced public types and APIs: [`ModelEditorState`](#modeleditorstate), [`ModelSelection`](#modelselection), [`UIBlock`](#uiblock).
1528
1601
 
1529
- Related gallery: [model-picker](https://minifish-org.github.io/pith-ui/?item=model-picker).
1602
+ ### modelEditorMarkup
1603
+
1604
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L36)
1605
+
1606
+ ```ts
1607
+ export declare function modelEditorMarkup(prefix: string): string;
1608
+ ```
1530
1609
 
1531
1610
  ### ModelEditorState
1532
1611
 
1533
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L6)
1612
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L19)
1534
1613
 
1535
1614
  ```ts
1536
1615
  export interface ModelEditorState {
1537
1616
  providers: readonly ModelProviderOption[] | null;
1538
1617
  models: readonly ModelOption[] | null;
1539
1618
  selection: ModelSelection;
1619
+ disabled?: boolean;
1540
1620
  }
1541
1621
  ```
1542
1622
 
@@ -1544,7 +1624,7 @@ Referenced public types and APIs: [`ModelOption`](#modeloption), [`ModelProvider
1544
1624
 
1545
1625
  ### ModelOption
1546
1626
 
1547
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L5)
1627
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L10)
1548
1628
 
1549
1629
  ```ts
1550
1630
  export interface ModelOption {
@@ -1573,7 +1653,7 @@ export interface ModelProviderOption {
1573
1653
 
1574
1654
  ### ModelSelection
1575
1655
 
1576
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L7)
1656
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L25)
1577
1657
 
1578
1658
  ```ts
1579
1659
  export interface ModelSelection {
@@ -1585,7 +1665,7 @@ export interface ModelSelection {
1585
1665
 
1586
1666
  ### thinkingLabel
1587
1667
 
1588
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L8)
1668
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L35)
1589
1669
 
1590
1670
  ```ts
1591
1671
  export declare function thinkingLabel(level: string): string;
@@ -1595,7 +1675,7 @@ export declare function thinkingLabel(level: string): string;
1595
1675
 
1596
1676
  ### createMCPConnectionList
1597
1677
 
1598
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L130)
1678
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L191)
1599
1679
 
1600
1680
  ```ts
1601
1681
  export declare function createMCPConnectionList(initial: MCPConnectionListState): UIBlock<MCPConnectionListState>;
@@ -1607,43 +1687,47 @@ Related gallery: [mcp-connections](https://minifish-org.github.io/pith-ui/?item=
1607
1687
 
1608
1688
  ### createMCPConnectionsPanel
1609
1689
 
1610
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L95)
1690
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L138)
1611
1691
 
1612
1692
  ```ts
1613
- export declare function createMCPConnectionsPanel(state?: FormFeedback, options?: FormOptions): MCPConnectionsPanel;
1693
+ export declare function createMCPConnectionsPanel(state?: MCPConnectionsState, options?: FormOptions & {
1694
+ onSubmit?: (draft: MCPConnectionDraft) => ActionResult | Promise<ActionResult>;
1695
+ }): MCPConnectionsPanel;
1614
1696
  ```
1615
1697
 
1616
- Referenced public types and APIs: [`FormFeedback`](#formfeedback), [`FormOptions`](#formoptions), [`MCPConnectionsPanel`](#mcpconnectionspanel).
1698
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`FormOptions`](#formoptions), [`MCPConnectionDraft`](#mcpconnectiondraft), [`MCPConnectionsPanel`](#mcpconnectionspanel), [`MCPConnectionsState`](#mcpconnectionsstate).
1617
1699
 
1618
1700
  Related gallery: [mcp-connections](https://minifish-org.github.io/pith-ui/?item=mcp-connections).
1619
1701
 
1620
1702
  ### createModelPicker
1621
1703
 
1622
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L121)
1704
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L174)
1623
1705
 
1624
1706
  ```ts
1625
- export declare function createModelPicker(state?: FormFeedback, options?: FormOptions): FormDOMBlock<FormFeedback>;
1707
+ export declare function createModelPicker(state?: ModelPickerState, options?: FormOptions & {
1708
+ onSubmit?: (selection: ModelSelection) => ActionResult | Promise<ActionResult>;
1709
+ }): ModelPicker;
1626
1710
  ```
1627
1711
 
1628
- Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`FormFeedback`](#formfeedback), [`FormOptions`](#formoptions).
1712
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`FormOptions`](#formoptions), [`ModelPicker`](#modelpicker), [`ModelPickerState`](#modelpickerstate), [`ModelSelection`](#modelselection).
1629
1713
 
1630
1714
  Related gallery: [model-picker](https://minifish-org.github.io/pith-ui/?item=model-picker).
1631
1715
 
1632
1716
  ### createSettingsPanel
1633
1717
 
1634
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L37)
1718
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L45)
1635
1719
 
1636
1720
  ```ts
1637
- export declare function createSettingsPanel(state: SettingsPanelState, options?: FormOptions): FormDOMBlock<SettingsPanelState>;
1721
+ export declare function createSettingsPanel(state: SettingsPanelState, options?: SettingsPanelOptions): SettingsPanel;
1638
1722
  ```
1639
1723
 
1640
- Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`FormOptions`](#formoptions), [`SettingsPanelState`](#settingspanelstate).
1724
+ Referenced public types and APIs: [`SettingsPanel`](#settingspanel), [`SettingsPanelOptions`](#settingspaneloptions), [`SettingsPanelState`](#settingspanelstate).
1641
1725
 
1642
1726
  Related gallery: [settings-panel](https://minifish-org.github.io/pith-ui/?item=settings-panel).
1643
1727
 
1644
1728
  ### FormDOMBlock
1645
1729
 
1646
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L6)
1730
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L9)
1647
1731
 
1648
1732
  ```ts
1649
1733
  export interface FormDOMBlock<State extends FormFeedback> extends UIBlock<State> {
@@ -1656,7 +1740,7 @@ Referenced public types and APIs: [`FormFeedback`](#formfeedback), [`UIBlock`](#
1656
1740
 
1657
1741
  ### FormFeedback
1658
1742
 
1659
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L5)
1743
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L8)
1660
1744
 
1661
1745
  ```ts
1662
1746
  export interface FormFeedback {
@@ -1667,7 +1751,7 @@ export interface FormFeedback {
1667
1751
 
1668
1752
  ### FormOptions
1669
1753
 
1670
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L36)
1754
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L39)
1671
1755
 
1672
1756
  ```ts
1673
1757
  export interface FormOptions {
@@ -1675,9 +1759,31 @@ export interface FormOptions {
1675
1759
  }
1676
1760
  ```
1677
1761
 
1762
+ ### MCPConnectionDraft
1763
+
1764
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L135)
1765
+
1766
+ ```ts
1767
+ export interface MCPConnectionDraft {
1768
+ name: string;
1769
+ type: 'http' | 'stdio';
1770
+ url: string;
1771
+ oauth: boolean;
1772
+ oauthClientId: string;
1773
+ oauthScope: string;
1774
+ command: string;
1775
+ args: string;
1776
+ enabled: boolean;
1777
+ bearerToken: string;
1778
+ clearBearerToken: boolean;
1779
+ env: string;
1780
+ clearEnv: boolean;
1781
+ }
1782
+ ```
1783
+
1678
1784
  ### MCPConnectionItem
1679
1785
 
1680
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L124)
1786
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L185)
1681
1787
 
1682
1788
  ```ts
1683
1789
  export interface MCPConnectionItem {
@@ -1699,7 +1805,7 @@ export interface MCPConnectionItem {
1699
1805
 
1700
1806
  ### MCPConnectionListState
1701
1807
 
1702
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L128)
1808
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L189)
1703
1809
 
1704
1810
  ```ts
1705
1811
  export interface MCPConnectionListState extends FormFeedback {
@@ -1711,20 +1817,37 @@ Referenced public types and APIs: [`FormFeedback`](#formfeedback), [`MCPConnecti
1711
1817
 
1712
1818
  ### MCPConnectionsPanel
1713
1819
 
1714
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L94)
1820
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L137)
1715
1821
 
1716
1822
  ```ts
1717
- export interface MCPConnectionsPanel extends FormDOMBlock<FormFeedback> {
1823
+ export interface MCPConnectionsPanel extends FormDOMBlock<MCPConnectionsState> {
1718
1824
  renderType(): void;
1719
1825
  edit(value?: MCPEditorValue): void;
1826
+ read(): MCPConnectionDraft;
1827
+ clearBearerToken(): void;
1828
+ clearSecrets(): void;
1829
+ toggleEnvironment(): void;
1830
+ readonly list: HTMLElement;
1720
1831
  }
1721
1832
  ```
1722
1833
 
1723
- Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`FormFeedback`](#formfeedback), [`MCPEditorValue`](#mcpeditorvalue).
1834
+ Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`MCPConnectionDraft`](#mcpconnectiondraft), [`MCPConnectionsState`](#mcpconnectionsstate), [`MCPEditorValue`](#mcpeditorvalue).
1835
+
1836
+ ### MCPConnectionsState
1837
+
1838
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L136)
1839
+
1840
+ ```ts
1841
+ export interface MCPConnectionsState extends FormFeedback {
1842
+ formError?: string;
1843
+ }
1844
+ ```
1845
+
1846
+ Referenced public types and APIs: [`FormFeedback`](#formfeedback).
1724
1847
 
1725
1848
  ### MCPEditorValue
1726
1849
 
1727
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L93)
1850
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L134)
1728
1851
 
1729
1852
  ```ts
1730
1853
  export interface MCPEditorValue {
@@ -1742,32 +1865,142 @@ export interface MCPEditorValue {
1742
1865
  }
1743
1866
  ```
1744
1867
 
1745
- ### modelEditorMarkup
1868
+ ### ModelPicker
1746
1869
 
1747
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L120)
1870
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L173)
1748
1871
 
1749
1872
  ```ts
1750
- export declare function modelEditorMarkup(prefix: string): string;
1873
+ export interface ModelPicker extends FormDOMBlock<ModelPickerState> {
1874
+ read(): ModelSelection;
1875
+ reset(selection: ModelSelection): void;
1876
+ focus(): void;
1877
+ }
1751
1878
  ```
1752
1879
 
1880
+ Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`ModelPickerState`](#modelpickerstate), [`ModelSelection`](#modelselection).
1881
+
1882
+ ### ModelPickerState
1883
+
1884
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L172)
1885
+
1886
+ ```ts
1887
+ export interface ModelPickerState extends FormFeedback {
1888
+ editor?: ModelEditorState;
1889
+ loading?: boolean;
1890
+ }
1891
+ ```
1892
+
1893
+ Referenced public types and APIs: [`FormFeedback`](#formfeedback), [`ModelEditorState`](#modeleditorstate).
1894
+
1895
+ ### SettingsCredentialView
1896
+
1897
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L42)
1898
+
1899
+ ```ts
1900
+ export interface SettingsCredentialView {
1901
+ status: string;
1902
+ hidden: boolean;
1903
+ required: boolean;
1904
+ placeholder: string;
1905
+ removeVisible: boolean;
1906
+ hint?: string;
1907
+ actions?: Node;
1908
+ }
1909
+ ```
1910
+
1911
+ ### SettingsDraft
1912
+
1913
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L40)
1914
+
1915
+ ```ts
1916
+ export interface SettingsDraft {
1917
+ provider: string;
1918
+ baseUrl: string;
1919
+ apiKey: string;
1920
+ }
1921
+ ```
1922
+
1923
+ ### SettingsPanel
1924
+
1925
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L43)
1926
+
1927
+ ```ts
1928
+ export interface SettingsPanel extends FormDOMBlock<SettingsPanelState> {
1929
+ read(): SettingsDraft;
1930
+ setProviders(providers: readonly SettingsProviderOption[], selected?: string): void;
1931
+ resetProvider(value: {
1932
+ provider: string;
1933
+ baseUrl: string;
1934
+ clearKey?: boolean;
1935
+ collapseAdvanced?: boolean;
1936
+ }): void;
1937
+ setCredential(view: SettingsCredentialView): void;
1938
+ clearSecrets(): void;
1939
+ readonly updates: HTMLElement;
1940
+ }
1941
+ ```
1942
+
1943
+ Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`SettingsCredentialView`](#settingscredentialview), [`SettingsDraft`](#settingsdraft), [`SettingsPanelState`](#settingspanelstate), [`SettingsProviderOption`](#settingsprovideroption).
1944
+
1945
+ ### SettingsPanelOptions
1946
+
1947
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L44)
1948
+
1949
+ ```ts
1950
+ export interface SettingsPanelOptions extends FormOptions {
1951
+ onAppearanceChange?: (mode: string) => void;
1952
+ onProviderChange?: (provider: string) => void;
1953
+ onDraftChange?: (draft: SettingsDraft) => void;
1954
+ onSubmit?: (draft: SettingsDraft) => ActionResult | Promise<ActionResult>;
1955
+ onTest?: (draft: SettingsDraft) => void;
1956
+ onRemoveKey?: (draft: SettingsDraft) => ActionResult | Promise<ActionResult>;
1957
+ }
1958
+ ```
1959
+
1960
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`FormOptions`](#formoptions), [`SettingsDraft`](#settingsdraft).
1961
+
1753
1962
  ### SettingsPanelState
1754
1963
 
1755
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L35)
1964
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L38)
1756
1965
 
1757
1966
  ```ts
1758
1967
  export interface SettingsPanelState extends FormFeedback {
1759
1968
  baseUrl: string;
1760
1969
  hasApiKey: boolean;
1970
+ ready?: boolean;
1971
+ testing?: boolean;
1972
+ appearance?: {
1973
+ mode: 'light' | 'dark' | 'system';
1974
+ disabled?: boolean;
1975
+ error?: string;
1976
+ };
1977
+ testResult?: {
1978
+ message: string;
1979
+ ok?: boolean;
1980
+ };
1761
1981
  }
1762
1982
  ```
1763
1983
 
1764
1984
  Referenced public types and APIs: [`FormFeedback`](#formfeedback).
1765
1985
 
1986
+ ### SettingsProviderOption
1987
+
1988
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L41)
1989
+
1990
+ ```ts
1991
+ export interface SettingsProviderOption {
1992
+ id: string;
1993
+ name: string;
1994
+ configured?: boolean;
1995
+ signedIn?: boolean;
1996
+ }
1997
+ ```
1998
+
1766
1999
  ## src/forms/provider-login.ts
1767
2000
 
1768
2001
  ### createProviderLoginPanel
1769
2002
 
1770
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/provider-login.ts#L5)
2003
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/provider-login.ts#L6)
1771
2004
 
1772
2005
  ```ts
1773
2006
  export declare function createProviderLoginPanel(initial: ProviderLoginState, options?: {
@@ -1784,7 +2017,7 @@ Related gallery: [provider-login](https://minifish-org.github.io/pith-ui/?item=p
1784
2017
 
1785
2018
  ### ProviderLoginState
1786
2019
 
1787
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/provider-login.ts#L4)
2020
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/provider-login.ts#L5)
1788
2021
 
1789
2022
  ```ts
1790
2023
  export interface ProviderLoginState {
@@ -1807,28 +2040,38 @@ export interface ProviderLoginState {
1807
2040
 
1808
2041
  ### createResourceEditor
1809
2042
 
1810
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/resource-editor.ts#L5)
2043
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/resource-editor.ts#L7)
1811
2044
 
1812
2045
  ```ts
1813
2046
  export declare function createResourceEditor(state: ResourceEditorState, options?: {
1814
2047
  idPrefix?: string;
2048
+ onSubmit?: (draft: ResourceDraft) => ActionResult | Promise<ActionResult>;
2049
+ onDelete?: () => void;
1815
2050
  }): UIBlock<ResourceEditorState> & {
1816
- read(): {
1817
- name: string;
1818
- content: string;
1819
- };
2051
+ read(): ResourceDraft;
1820
2052
  readonly form: HTMLFormElement;
1821
2053
  readonly removeButton: HTMLButtonElement | null;
1822
2054
  };
1823
2055
  ```
1824
2056
 
1825
- Referenced public types and APIs: [`ResourceEditorState`](#resourceeditorstate), [`UIBlock`](#uiblock).
2057
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`ResourceDraft`](#resourcedraft), [`ResourceEditorState`](#resourceeditorstate), [`UIBlock`](#uiblock).
1826
2058
 
1827
2059
  Related gallery: [resource-editor](https://minifish-org.github.io/pith-ui/?item=resource-editor).
1828
2060
 
2061
+ ### ResourceDraft
2062
+
2063
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/resource-editor.ts#L6)
2064
+
2065
+ ```ts
2066
+ export interface ResourceDraft {
2067
+ name: string;
2068
+ content: string;
2069
+ }
2070
+ ```
2071
+
1829
2072
  ### ResourceEditorState
1830
2073
 
1831
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/resource-editor.ts#L4)
2074
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/resource-editor.ts#L5)
1832
2075
 
1833
2076
  ```ts
1834
2077
  export interface ResourceEditorState {
@@ -1836,6 +2079,7 @@ export interface ResourceEditorState {
1836
2079
  workspacePath: string;
1837
2080
  path?: string;
1838
2081
  kind: string;
2082
+ name?: string;
1839
2083
  content: string;
1840
2084
  editable: boolean;
1841
2085
  workspaceBusy: boolean;
@@ -1848,7 +2092,7 @@ export interface ResourceEditorState {
1848
2092
 
1849
2093
  ### createContextMenu
1850
2094
 
1851
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L7)
2095
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L9)
1852
2096
 
1853
2097
  ```ts
1854
2098
  export declare function createContextMenu(options?: {
@@ -1867,10 +2111,11 @@ Related gallery: [context-menu](https://minifish-org.github.io/pith-ui/?item=con
1867
2111
 
1868
2112
  ### ContextMenuItem
1869
2113
 
1870
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L2)
2114
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L4)
1871
2115
 
1872
2116
  ```ts
1873
2117
  export interface ContextMenuItem {
2118
+ id?: string;
1874
2119
  label: string;
1875
2120
  action?: string;
1876
2121
  sdkAction?: string;
@@ -1885,7 +2130,7 @@ export interface ContextMenuItem {
1885
2130
 
1886
2131
  ### ContextMenuState
1887
2132
 
1888
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L6)
2133
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L8)
1889
2134
 
1890
2135
  ```ts
1891
2136
  export interface ContextMenuState {
@@ -1900,24 +2145,19 @@ Referenced public types and APIs: [`ContextMenuItem`](#contextmenuitem).
1900
2145
 
1901
2146
  ### createRenameConversation
1902
2147
 
1903
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L63)
2148
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L85)
1904
2149
 
1905
2150
  ```ts
1906
- export declare function createRenameConversation(initial: RenameConversationState, options?: {
1907
- idPrefix?: string;
1908
- }): UIBlock<RenameConversationState> & {
1909
- readonly input: HTMLInputElement;
1910
- readonly form: HTMLFormElement;
1911
- };
2151
+ export declare function createRenameConversation(initial: RenameConversationState, options?: RenameConversationOptions): RenameConversationBlock;
1912
2152
  ```
1913
2153
 
1914
- Referenced public types and APIs: [`RenameConversationState`](#renameconversationstate), [`UIBlock`](#uiblock).
2154
+ Referenced public types and APIs: [`RenameConversationBlock`](#renameconversationblock), [`RenameConversationOptions`](#renameconversationoptions), [`RenameConversationState`](#renameconversationstate).
1915
2155
 
1916
2156
  Related gallery: [rename-conversation](https://minifish-org.github.io/pith-ui/?item=rename-conversation).
1917
2157
 
1918
2158
  ### createWorkspaceNavigation
1919
2159
 
1920
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L9)
2160
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L11)
1921
2161
 
1922
2162
  ```ts
1923
2163
  export declare function createWorkspaceNavigation(initial: WorkspaceNavigationState, options?: {
@@ -1934,25 +2174,19 @@ Related gallery: [workspace-navigation](https://minifish-org.github.io/pith-ui/?
1934
2174
 
1935
2175
  ### createWorkspacePicker
1936
2176
 
1937
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L70)
2177
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L137)
1938
2178
 
1939
2179
  ```ts
1940
- export declare function createWorkspacePicker(initial: WorkspacePickerState, options?: {
1941
- idPrefix?: string;
1942
- }): UIBlock<WorkspacePickerState> & {
1943
- readonly input: HTMLInputElement;
1944
- readonly form: HTMLFormElement;
1945
- readonly pickButton: HTMLButtonElement;
1946
- };
2180
+ export declare function createWorkspacePicker(initial: WorkspacePickerState, options?: WorkspacePickerOptions): WorkspacePickerBlock;
1947
2181
  ```
1948
2182
 
1949
- Referenced public types and APIs: [`UIBlock`](#uiblock), [`WorkspacePickerState`](#workspacepickerstate).
2183
+ Referenced public types and APIs: [`WorkspacePickerBlock`](#workspacepickerblock), [`WorkspacePickerOptions`](#workspacepickeroptions), [`WorkspacePickerState`](#workspacepickerstate).
1950
2184
 
1951
2185
  Related gallery: [workspace-picker](https://minifish-org.github.io/pith-ui/?item=workspace-picker).
1952
2186
 
1953
2187
  ### NavigationConversation
1954
2188
 
1955
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L4)
2189
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L6)
1956
2190
 
1957
2191
  ```ts
1958
2192
  export interface NavigationConversation {
@@ -1966,7 +2200,7 @@ export interface NavigationConversation {
1966
2200
 
1967
2201
  ### NavigationWorkspace
1968
2202
 
1969
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L5)
2203
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L7)
1970
2204
 
1971
2205
  ```ts
1972
2206
  export interface NavigationWorkspace {
@@ -1982,9 +2216,55 @@ export interface NavigationWorkspace {
1982
2216
 
1983
2217
  Referenced public types and APIs: [`NavigationConversation`](#navigationconversation).
1984
2218
 
2219
+ ### RenameConversationBlock
2220
+
2221
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L76)
2222
+
2223
+ ```ts
2224
+ export interface RenameConversationBlock extends UIBlock<RenameConversationState> {
2225
+ readonly input: HTMLInputElement;
2226
+ readonly form: HTMLFormElement;
2227
+ read(): RenameConversationDraft;
2228
+ reset(state: RenameConversationState): void;
2229
+ open(state?: RenameConversationState): void;
2230
+ close(): void;
2231
+ focus(): void;
2232
+ }
2233
+ ```
2234
+
2235
+ Referenced public types and APIs: [`RenameConversationDraft`](#renameconversationdraft), [`RenameConversationState`](#renameconversationstate), [`UIBlock`](#uiblock).
2236
+
2237
+ ### RenameConversationDraft
2238
+
2239
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L67)
2240
+
2241
+ ```ts
2242
+ export interface RenameConversationDraft {
2243
+ id: string;
2244
+ title: string;
2245
+ }
2246
+ ```
2247
+
2248
+ ### RenameConversationOptions
2249
+
2250
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L68)
2251
+
2252
+ ```ts
2253
+ export interface RenameConversationOptions {
2254
+ idPrefix?: string;
2255
+ dialog?: HTMLDialogElement;
2256
+ unavailable?: () => boolean;
2257
+ onSubmit?: (draft: RenameConversationDraft) => Promise<ActionResult> | ActionResult;
2258
+ onSubmitted?: () => void;
2259
+ onCancel?: () => void;
2260
+ }
2261
+ ```
2262
+
2263
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`RenameConversationDraft`](#renameconversationdraft).
2264
+
1985
2265
  ### RenameConversationState
1986
2266
 
1987
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L62)
2267
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L66)
1988
2268
 
1989
2269
  ```ts
1990
2270
  export interface RenameConversationState {
@@ -1997,7 +2277,7 @@ export interface RenameConversationState {
1997
2277
 
1998
2278
  ### WorkspaceNavigationState
1999
2279
 
2000
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L6)
2280
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L8)
2001
2281
 
2002
2282
  ```ts
2003
2283
  export interface WorkspaceNavigationState {
@@ -2009,9 +2289,52 @@ export interface WorkspaceNavigationState {
2009
2289
 
2010
2290
  Referenced public types and APIs: [`NavigationWorkspace`](#navigationworkspace).
2011
2291
 
2292
+ ### WorkspacePickerBlock
2293
+
2294
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L127)
2295
+
2296
+ ```ts
2297
+ export interface WorkspacePickerBlock extends UIBlock<WorkspacePickerState> {
2298
+ readonly input: HTMLInputElement;
2299
+ readonly form: HTMLFormElement;
2300
+ readonly pickButton: HTMLButtonElement;
2301
+ read(): {
2302
+ path: string;
2303
+ };
2304
+ reset(path?: string): void;
2305
+ open(): void;
2306
+ close(): void;
2307
+ focus(): void;
2308
+ }
2309
+ ```
2310
+
2311
+ Referenced public types and APIs: [`UIBlock`](#uiblock), [`WorkspacePickerState`](#workspacepickerstate).
2312
+
2313
+ ### WorkspacePickerOptions
2314
+
2315
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L117)
2316
+
2317
+ ```ts
2318
+ export interface WorkspacePickerOptions {
2319
+ idPrefix?: string;
2320
+ dialog?: HTMLDialogElement;
2321
+ unavailable?: () => boolean;
2322
+ onSubmit?: (path: string) => Promise<ActionResult> | ActionResult;
2323
+ onPick?: () => Promise<{
2324
+ path?: string;
2325
+ error?: string;
2326
+ }>;
2327
+ onSelect?: (id: string) => void;
2328
+ onSubmitted?: () => void;
2329
+ onCancel?: () => void;
2330
+ }
2331
+ ```
2332
+
2333
+ Referenced public types and APIs: [`ActionResult`](#actionresult).
2334
+
2012
2335
  ### WorkspacePickerState
2013
2336
 
2014
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L69)
2337
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L116)
2015
2338
 
2016
2339
  ```ts
2017
2340
  export interface WorkspacePickerState {
@@ -2029,7 +2352,7 @@ export interface WorkspacePickerState {
2029
2352
 
2030
2353
  ### createActions
2031
2354
 
2032
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L346)
2355
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L294)
2033
2356
 
2034
2357
  ```ts
2035
2358
  export declare function createActions(options?: ActionsState & {
@@ -2043,7 +2366,7 @@ Related gallery: [actions](https://minifish-org.github.io/pith-ui/?item=actions)
2043
2366
 
2044
2367
  ### createButton
2045
2368
 
2046
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L21)
2369
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L25)
2047
2370
 
2048
2371
  ```ts
2049
2372
  export declare function createButton(options: ButtonOptions): ButtonBlock;
@@ -2051,11 +2374,11 @@ export declare function createButton(options: ButtonOptions): ButtonBlock;
2051
2374
 
2052
2375
  Referenced public types and APIs: [`ButtonBlock`](#buttonblock), [`ButtonOptions`](#buttonoptions).
2053
2376
 
2054
- Related gallery: [actions](https://minifish-org.github.io/pith-ui/?item=actions), [button](https://minifish-org.github.io/pith-ui/?item=button), [confirmation](https://minifish-org.github.io/pith-ui/?item=confirmation), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [resources-panel](https://minifish-org.github.io/pith-ui/?item=resources-panel), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [text-edit-dialog](https://minifish-org.github.io/pith-ui/?item=text-edit-dialog), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar).
2377
+ Related gallery: [actions](https://minifish-org.github.io/pith-ui/?item=actions), [button](https://minifish-org.github.io/pith-ui/?item=button), [confirmation](https://minifish-org.github.io/pith-ui/?item=confirmation), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [text-edit-dialog](https://minifish-org.github.io/pith-ui/?item=text-edit-dialog), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar).
2055
2378
 
2056
2379
  ### createCheckbox
2057
2380
 
2058
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L294)
2381
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L247)
2059
2382
 
2060
2383
  ```ts
2061
2384
  export declare function createCheckbox(options: CheckboxState & {
@@ -2070,7 +2393,7 @@ Related gallery: [checkbox](https://minifish-org.github.io/pith-ui/?item=checkbo
2070
2393
 
2071
2394
  ### createCollectionState
2072
2395
 
2073
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L382)
2396
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L331)
2074
2397
 
2075
2398
  ```ts
2076
2399
  export declare function createCollectionState(options: CollectionState & {
@@ -2085,7 +2408,7 @@ Related gallery: [collection-state](https://minifish-org.github.io/pith-ui/?item
2085
2408
 
2086
2409
  ### createConfirmDialog
2087
2410
 
2088
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L513)
2411
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L446)
2089
2412
 
2090
2413
  ```ts
2091
2414
  export declare function createConfirmDialog(options: ConfirmState & {
@@ -2108,7 +2431,7 @@ Related gallery: [confirmation](https://minifish-org.github.io/pith-ui/?item=con
2108
2431
 
2109
2432
  ### createDialog
2110
2433
 
2111
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L404)
2434
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L353)
2112
2435
 
2113
2436
  ```ts
2114
2437
  export declare function createDialog(options: DialogOptions): DialogBlock;
@@ -2120,7 +2443,7 @@ Related gallery: [dialog](https://minifish-org.github.io/pith-ui/?item=dialog).
2120
2443
 
2121
2444
  ### createDisclosure
2122
2445
 
2123
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L353)
2446
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L302)
2124
2447
 
2125
2448
  ```ts
2126
2449
  export declare function createDisclosure(options: DisclosureState & {
@@ -2136,7 +2459,7 @@ Related gallery: [disclosure](https://minifish-org.github.io/pith-ui/?item=discl
2136
2459
 
2137
2460
  ### createDivider
2138
2461
 
2139
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L100)
2462
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L73)
2140
2463
 
2141
2464
  ```ts
2142
2465
  export declare function createDivider(state?: {
@@ -2152,7 +2475,7 @@ Related gallery: [divider](https://minifish-org.github.io/pith-ui/?item=divider)
2152
2475
 
2153
2476
  ### createField
2154
2477
 
2155
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L146)
2478
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L120)
2156
2479
 
2157
2480
  ```ts
2158
2481
  export declare function createField(options: FieldState & {
@@ -2166,7 +2489,7 @@ Related gallery: [number-input](https://minifish-org.github.io/pith-ui/?item=num
2166
2489
 
2167
2490
  ### createFormSection
2168
2491
 
2169
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L338)
2492
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L286)
2170
2493
 
2171
2494
  ```ts
2172
2495
  export declare function createFormSection(options: FormSectionState & {
@@ -2180,7 +2503,7 @@ Related gallery: [form-section](https://minifish-org.github.io/pith-ui/?item=for
2180
2503
 
2181
2504
  ### createIcon
2182
2505
 
2183
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L89)
2506
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L62)
2184
2507
 
2185
2508
  ```ts
2186
2509
  export declare function createIcon(state: IconState): UIBlock<IconState>;
@@ -2192,7 +2515,7 @@ Related gallery: [foundation-sizing](https://minifish-org.github.io/pith-ui/?ite
2192
2515
 
2193
2516
  ### createIconButton
2194
2517
 
2195
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L67)
2518
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L40)
2196
2519
 
2197
2520
  ```ts
2198
2521
  export declare function createIconButton(options: ButtonOptions & {
@@ -2206,7 +2529,7 @@ Related gallery: [icon-button](https://minifish-org.github.io/pith-ui/?item=icon
2206
2529
 
2207
2530
  ### createKeyValue
2208
2531
 
2209
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L107)
2532
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L80)
2210
2533
 
2211
2534
  ```ts
2212
2535
  export declare function createKeyValue(options: KeyValueState): UIBlock<KeyValueState>;
@@ -2218,7 +2541,7 @@ Related gallery: [foundation-motion](https://minifish-org.github.io/pith-ui/?ite
2218
2541
 
2219
2542
  ### createListRow
2220
2543
 
2221
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L367)
2544
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L316)
2222
2545
 
2223
2546
  ```ts
2224
2547
  export declare function createListRow(options: ListRowState & {
@@ -2232,7 +2555,7 @@ Related gallery: [collection-state](https://minifish-org.github.io/pith-ui/?item
2232
2555
 
2233
2556
  ### createMenu
2234
2557
 
2235
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L585)
2558
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L518)
2236
2559
 
2237
2560
  ```ts
2238
2561
  export declare function createMenu(options: MenuState): PopoverBlock & UIBlock<MenuState>;
@@ -2244,7 +2567,7 @@ Related gallery: [menu](https://minifish-org.github.io/pith-ui/?item=menu).
2244
2567
 
2245
2568
  ### createNotice
2246
2569
 
2247
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L310)
2570
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L262)
2248
2571
 
2249
2572
  ```ts
2250
2573
  export declare function createNotice(state: NoticeState): UIBlock<NoticeState>;
@@ -2256,7 +2579,7 @@ Related gallery: [notice](https://minifish-org.github.io/pith-ui/?item=notice).
2256
2579
 
2257
2580
  ### createNumberInput
2258
2581
 
2259
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L225)
2582
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L186)
2260
2583
 
2261
2584
  ```ts
2262
2585
  export declare const createNumberInput: (options: InputOptions) => InputBlock;
@@ -2268,7 +2591,7 @@ Related gallery: [number-input](https://minifish-org.github.io/pith-ui/?item=num
2268
2591
 
2269
2592
  ### createPopover
2270
2593
 
2271
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L560)
2594
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L493)
2272
2595
 
2273
2596
  ```ts
2274
2597
  export declare function createPopover(options: PopoverState & {
@@ -2283,7 +2606,7 @@ Related gallery: [popover](https://minifish-org.github.io/pith-ui/?item=popover)
2283
2606
 
2284
2607
  ### createProgress
2285
2608
 
2286
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L327)
2609
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L275)
2287
2610
 
2288
2611
  ```ts
2289
2612
  export declare function createProgress(state: ProgressState): UIBlock<ProgressState>;
@@ -2295,7 +2618,7 @@ Related gallery: [progress](https://minifish-org.github.io/pith-ui/?item=progres
2295
2618
 
2296
2619
  ### createScrollArea
2297
2620
 
2298
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L129)
2621
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L103)
2299
2622
 
2300
2623
  ```ts
2301
2624
  export declare function createScrollArea(options: ScrollAreaState & {
@@ -2309,7 +2632,7 @@ Related gallery: [scroll-area](https://minifish-org.github.io/pith-ui/?item=scro
2309
2632
 
2310
2633
  ### createSearchInput
2311
2634
 
2312
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L224)
2635
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L185)
2313
2636
 
2314
2637
  ```ts
2315
2638
  export declare const createSearchInput: (options: InputOptions) => InputBlock;
@@ -2321,7 +2644,7 @@ Related gallery: [search-input](https://minifish-org.github.io/pith-ui/?item=sea
2321
2644
 
2322
2645
  ### createSecretInput
2323
2646
 
2324
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L228)
2647
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L189)
2325
2648
 
2326
2649
  ```ts
2327
2650
  export declare function createSecretInput(options: InputOptions): InputBlock;
@@ -2333,7 +2656,7 @@ Related gallery: [secret-input](https://minifish-org.github.io/pith-ui/?item=sec
2333
2656
 
2334
2657
  ### createSelect
2335
2658
 
2336
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L256)
2659
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L217)
2337
2660
 
2338
2661
  ```ts
2339
2662
  export declare function createSelect(options: SelectOptions): SelectBlock;
@@ -2345,7 +2668,7 @@ Related gallery: [foundation-sizing](https://minifish-org.github.io/pith-ui/?ite
2345
2668
 
2346
2669
  ### createStatus
2347
2670
 
2348
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L321)
2671
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L268)
2349
2672
 
2350
2673
  ```ts
2351
2674
  export declare function createStatus(state: StatusState): UIBlock<StatusState>;
@@ -2357,7 +2680,7 @@ Related gallery: [status](https://minifish-org.github.io/pith-ui/?item=status).
2357
2680
 
2358
2681
  ### createTextAction
2359
2682
 
2360
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L80)
2683
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L53)
2361
2684
 
2362
2685
  ```ts
2363
2686
  export declare function createTextAction(options: ButtonOptions): ButtonBlock;
@@ -2369,7 +2692,7 @@ Related gallery: [text-action](https://minifish-org.github.io/pith-ui/?item=text
2369
2692
 
2370
2693
  ### createTextArea
2371
2694
 
2372
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L226)
2695
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L187)
2373
2696
 
2374
2697
  ```ts
2375
2698
  export declare const createTextArea: (options: InputOptions) => InputBlock;
@@ -2381,7 +2704,7 @@ Related gallery: [foundation-typography](https://minifish-org.github.io/pith-ui/
2381
2704
 
2382
2705
  ### createTextEditDialog
2383
2706
 
2384
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L462)
2707
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L395)
2385
2708
 
2386
2709
  ```ts
2387
2710
  export declare function createTextEditDialog(options?: TextEditOptions): TextEditBlock;
@@ -2393,7 +2716,7 @@ Related gallery: [pending-messages](https://minifish-org.github.io/pith-ui/?item
2393
2716
 
2394
2717
  ### createTextInput
2395
2718
 
2396
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L223)
2719
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L184)
2397
2720
 
2398
2721
  ```ts
2399
2722
  export declare const createTextInput: (options: InputOptions) => InputBlock;
@@ -2405,7 +2728,7 @@ Related gallery: [form-section](https://minifish-org.github.io/pith-ui/?item=for
2405
2728
 
2406
2729
  ### createToolbar
2407
2730
 
2408
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L122)
2731
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L95)
2409
2732
 
2410
2733
  ```ts
2411
2734
  export declare function createToolbar(options: ToolbarState & {
@@ -2419,7 +2742,7 @@ Related gallery: [button](https://minifish-org.github.io/pith-ui/?item=button),
2419
2742
 
2420
2743
  ### ActionsState
2421
2744
 
2422
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L345)
2745
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L293)
2423
2746
 
2424
2747
  ```ts
2425
2748
  export interface ActionsState {
@@ -2429,7 +2752,7 @@ export interface ActionsState {
2429
2752
 
2430
2753
  ### ButtonBlock
2431
2754
 
2432
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L19)
2755
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L23)
2433
2756
 
2434
2757
  ```ts
2435
2758
  export interface ButtonBlock extends UIBlock<ButtonState> {
@@ -2441,7 +2764,7 @@ Referenced public types and APIs: [`ButtonState`](#buttonstate), [`UIBlock`](#ui
2441
2764
 
2442
2765
  ### ButtonOptions
2443
2766
 
2444
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L14)
2767
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L18)
2445
2768
 
2446
2769
  ```ts
2447
2770
  export interface ButtonOptions extends ButtonState {
@@ -2455,7 +2778,7 @@ Referenced public types and APIs: [`ButtonState`](#buttonstate), [`UIAction`](#u
2455
2778
 
2456
2779
  ### ButtonState
2457
2780
 
2458
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L5)
2781
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L7)
2459
2782
 
2460
2783
  ```ts
2461
2784
  export interface ButtonState {
@@ -2466,6 +2789,8 @@ export interface ButtonState {
2466
2789
  pending?: boolean;
2467
2790
  icon?: string;
2468
2791
  title?: string;
2792
+ /** Secondary product action, including the accepted compact application style. */
2793
+ appearance?: 'standard' | 'secondary';
2469
2794
  }
2470
2795
  ```
2471
2796
 
@@ -2473,7 +2798,7 @@ Referenced public types and APIs: [`Density`](#density), [`Intent`](#intent).
2473
2798
 
2474
2799
  ### CheckboxBlock
2475
2800
 
2476
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L288)
2801
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L241)
2477
2802
 
2478
2803
  ```ts
2479
2804
  export interface CheckboxBlock extends UIBlock<CheckboxState> {
@@ -2488,7 +2813,7 @@ Referenced public types and APIs: [`CheckboxState`](#checkboxstate), [`UIBlock`]
2488
2813
 
2489
2814
  ### CheckboxState
2490
2815
 
2491
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L287)
2816
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L240)
2492
2817
 
2493
2818
  ```ts
2494
2819
  export interface CheckboxState {
@@ -2500,7 +2825,7 @@ export interface CheckboxState {
2500
2825
 
2501
2826
  ### CollectionState
2502
2827
 
2503
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L381)
2828
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L330)
2504
2829
 
2505
2830
  ```ts
2506
2831
  export interface CollectionState {
@@ -2512,7 +2837,7 @@ export interface CollectionState {
2512
2837
 
2513
2838
  ### ConfirmBlock
2514
2839
 
2515
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L512)
2840
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L445)
2516
2841
 
2517
2842
  ```ts
2518
2843
  export interface ConfirmBlock extends UIBlock<ConfirmState> {
@@ -2521,6 +2846,7 @@ export interface ConfirmBlock extends UIBlock<ConfirmState> {
2521
2846
  readonly cancelButton: HTMLButtonElement;
2522
2847
  open(state?: ConfirmState): void;
2523
2848
  close(): void;
2849
+ refreshAvailability(): void;
2524
2850
  }
2525
2851
  ```
2526
2852
 
@@ -2528,7 +2854,7 @@ Referenced public types and APIs: [`ConfirmState`](#confirmstate), [`UIBlock`](#
2528
2854
 
2529
2855
  ### ConfirmState
2530
2856
 
2531
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L511)
2857
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L444)
2532
2858
 
2533
2859
  ```ts
2534
2860
  export interface ConfirmState extends DialogState {
@@ -2545,7 +2871,7 @@ Referenced public types and APIs: [`DialogState`](#dialogstate).
2545
2871
 
2546
2872
  ### DialogBlock
2547
2873
 
2548
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L398)
2874
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L347)
2549
2875
 
2550
2876
  ```ts
2551
2877
  export interface DialogBlock extends UIBlock<DialogState> {
@@ -2560,7 +2886,7 @@ Referenced public types and APIs: [`DialogState`](#dialogstate), [`UIBlock`](#ui
2560
2886
 
2561
2887
  ### DialogOptions
2562
2888
 
2563
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L397)
2889
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L346)
2564
2890
 
2565
2891
  ```ts
2566
2892
  export interface DialogOptions extends DialogState {
@@ -2576,7 +2902,7 @@ Referenced public types and APIs: [`DialogState`](#dialogstate).
2576
2902
 
2577
2903
  ### DialogState
2578
2904
 
2579
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L396)
2905
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L345)
2580
2906
 
2581
2907
  ```ts
2582
2908
  export interface DialogState {
@@ -2589,7 +2915,7 @@ export interface DialogState {
2589
2915
 
2590
2916
  ### DisclosureBlock
2591
2917
 
2592
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L352)
2918
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L301)
2593
2919
 
2594
2920
  ```ts
2595
2921
  export interface DisclosureBlock extends UIBlock<DisclosureState> {
@@ -2602,7 +2928,7 @@ Referenced public types and APIs: [`DisclosureState`](#disclosurestate), [`UIBlo
2602
2928
 
2603
2929
  ### DisclosureState
2604
2930
 
2605
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L351)
2931
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L300)
2606
2932
 
2607
2933
  ```ts
2608
2934
  export interface DisclosureState {
@@ -2614,7 +2940,7 @@ export interface DisclosureState {
2614
2940
 
2615
2941
  ### FieldBlock
2616
2942
 
2617
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L142)
2943
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L116)
2618
2944
 
2619
2945
  ```ts
2620
2946
  export interface FieldBlock extends UIBlock<FieldState> {
@@ -2626,7 +2952,7 @@ Referenced public types and APIs: [`FieldState`](#fieldstate), [`UIBlock`](#uibl
2626
2952
 
2627
2953
  ### FieldState
2628
2954
 
2629
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L135)
2955
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L109)
2630
2956
 
2631
2957
  ```ts
2632
2958
  export interface FieldState {
@@ -2640,7 +2966,7 @@ export interface FieldState {
2640
2966
 
2641
2967
  ### FormSectionState
2642
2968
 
2643
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L337)
2969
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L285)
2644
2970
 
2645
2971
  ```ts
2646
2972
  export interface FormSectionState {
@@ -2651,7 +2977,7 @@ export interface FormSectionState {
2651
2977
 
2652
2978
  ### IconState
2653
2979
 
2654
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L88)
2980
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L61)
2655
2981
 
2656
2982
  ```ts
2657
2983
  export interface IconState {
@@ -2663,7 +2989,7 @@ export interface IconState {
2663
2989
 
2664
2990
  ### InputBlock
2665
2991
 
2666
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L191)
2992
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L155)
2667
2993
 
2668
2994
  ```ts
2669
2995
  export interface InputBlock extends UIBlock<InputState> {
@@ -2678,7 +3004,7 @@ Referenced public types and APIs: [`InputState`](#inputstate), [`UIBlock`](#uibl
2678
3004
 
2679
3005
  ### InputOptions
2680
3006
 
2681
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L182)
3007
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L146)
2682
3008
 
2683
3009
  ```ts
2684
3010
  export interface InputOptions extends InputState {
@@ -2696,7 +3022,7 @@ Referenced public types and APIs: [`InputState`](#inputstate).
2696
3022
 
2697
3023
  ### InputState
2698
3024
 
2699
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L177)
3025
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L141)
2700
3026
 
2701
3027
  ```ts
2702
3028
  export interface InputState extends FieldState {
@@ -2710,7 +3036,7 @@ Referenced public types and APIs: [`Density`](#density), [`FieldState`](#fieldst
2710
3036
 
2711
3037
  ### KeyValueState
2712
3038
 
2713
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L106)
3039
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L79)
2714
3040
 
2715
3041
  ```ts
2716
3042
  export interface KeyValueState {
@@ -2724,7 +3050,7 @@ export interface KeyValueState {
2724
3050
 
2725
3051
  ### ListRowState
2726
3052
 
2727
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L366)
3053
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L315)
2728
3054
 
2729
3055
  ```ts
2730
3056
  export interface ListRowState {
@@ -2738,7 +3064,7 @@ export interface ListRowState {
2738
3064
 
2739
3065
  ### MenuItem
2740
3066
 
2741
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L583)
3067
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L516)
2742
3068
 
2743
3069
  ```ts
2744
3070
  export interface MenuItem {
@@ -2755,7 +3081,7 @@ Referenced public types and APIs: [`Intent`](#intent), [`UIAction`](#uiaction).
2755
3081
 
2756
3082
  ### MenuState
2757
3083
 
2758
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L584)
3084
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L517)
2759
3085
 
2760
3086
  ```ts
2761
3087
  export interface MenuState extends PopoverState {
@@ -2767,7 +3093,7 @@ Referenced public types and APIs: [`MenuItem`](#menuitem), [`PopoverState`](#pop
2767
3093
 
2768
3094
  ### NoticeState
2769
3095
 
2770
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L309)
3096
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L261)
2771
3097
 
2772
3098
  ```ts
2773
3099
  export interface NoticeState {
@@ -2778,7 +3104,7 @@ export interface NoticeState {
2778
3104
 
2779
3105
  ### PopoverBlock
2780
3106
 
2781
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L553)
3107
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L486)
2782
3108
 
2783
3109
  ```ts
2784
3110
  export interface PopoverBlock extends UIBlock<PopoverState> {
@@ -2794,7 +3120,7 @@ Referenced public types and APIs: [`PopoverState`](#popoverstate), [`UIBlock`](#
2794
3120
 
2795
3121
  ### PopoverState
2796
3122
 
2797
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L552)
3123
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L485)
2798
3124
 
2799
3125
  ```ts
2800
3126
  export interface PopoverState {
@@ -2805,7 +3131,7 @@ export interface PopoverState {
2805
3131
 
2806
3132
  ### ProgressState
2807
3133
 
2808
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L326)
3134
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L274)
2809
3135
 
2810
3136
  ```ts
2811
3137
  export interface ProgressState {
@@ -2817,7 +3143,7 @@ export interface ProgressState {
2817
3143
 
2818
3144
  ### ScrollAreaState
2819
3145
 
2820
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L128)
3146
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L102)
2821
3147
 
2822
3148
  ```ts
2823
3149
  export interface ScrollAreaState {
@@ -2828,7 +3154,7 @@ export interface ScrollAreaState {
2828
3154
 
2829
3155
  ### SelectBlock
2830
3156
 
2831
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L250)
3157
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L211)
2832
3158
 
2833
3159
  ```ts
2834
3160
  export interface SelectBlock extends UIBlock<SelectState> {
@@ -2843,7 +3169,7 @@ Referenced public types and APIs: [`SelectState`](#selectstate), [`UIBlock`](#ui
2843
3169
 
2844
3170
  ### SelectOption
2845
3171
 
2846
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L247)
3172
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L208)
2847
3173
 
2848
3174
  ```ts
2849
3175
  export interface SelectOption {
@@ -2855,7 +3181,7 @@ export interface SelectOption {
2855
3181
 
2856
3182
  ### SelectOptions
2857
3183
 
2858
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L249)
3184
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L210)
2859
3185
 
2860
3186
  ```ts
2861
3187
  export interface SelectOptions extends SelectState {
@@ -2870,7 +3196,7 @@ Referenced public types and APIs: [`SelectState`](#selectstate).
2870
3196
 
2871
3197
  ### SelectState
2872
3198
 
2873
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L248)
3199
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L209)
2874
3200
 
2875
3201
  ```ts
2876
3202
  export interface SelectState extends FieldState {
@@ -2883,7 +3209,7 @@ Referenced public types and APIs: [`Density`](#density), [`FieldState`](#fieldst
2883
3209
 
2884
3210
  ### StatusState
2885
3211
 
2886
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L320)
3212
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L267)
2887
3213
 
2888
3214
  ```ts
2889
3215
  export interface StatusState {
@@ -2894,7 +3220,7 @@ export interface StatusState {
2894
3220
 
2895
3221
  ### TextEditBlock
2896
3222
 
2897
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L453)
3223
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L386)
2898
3224
 
2899
3225
  ```ts
2900
3226
  export interface TextEditBlock extends Omit<UIBlock<TextEditState>, 'element'> {
@@ -2912,7 +3238,7 @@ Referenced public types and APIs: [`TextEditInput`](#texteditinput), [`TextEditS
2912
3238
 
2913
3239
  ### TextEditInput
2914
3240
 
2915
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L444)
3241
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L377)
2916
3242
 
2917
3243
  ```ts
2918
3244
  export interface TextEditInput {
@@ -2925,7 +3251,7 @@ export interface TextEditInput {
2925
3251
 
2926
3252
  ### TextEditOptions
2927
3253
 
2928
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L445)
3254
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L378)
2929
3255
 
2930
3256
  ```ts
2931
3257
  export interface TextEditOptions extends Partial<TextEditState> {
@@ -2949,7 +3275,7 @@ Referenced public types and APIs: [`ActionResult`](#actionresult), [`TextEditSta
2949
3275
 
2950
3276
  ### TextEditState
2951
3277
 
2952
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L443)
3278
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L376)
2953
3279
 
2954
3280
  ```ts
2955
3281
  export interface TextEditState extends DialogState {
@@ -2966,7 +3292,7 @@ Referenced public types and APIs: [`DialogState`](#dialogstate).
2966
3292
 
2967
3293
  ### ToolbarState
2968
3294
 
2969
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L121)
3295
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L94)
2970
3296
 
2971
3297
  ```ts
2972
3298
  export interface ToolbarState {
@@ -2981,7 +3307,7 @@ Referenced public types and APIs: [`Density`](#density).
2981
3307
 
2982
3308
  ### createApprovalPanel
2983
3309
 
2984
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L7)
3310
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L8)
2985
3311
 
2986
3312
  ```ts
2987
3313
  export declare function createApprovalPanel(initial: ApprovalPanelState, options?: {
@@ -2997,7 +3323,7 @@ Related gallery: [approval-panel](https://minifish-org.github.io/pith-ui/?item=a
2997
3323
 
2998
3324
  ### ApprovalPanelState
2999
3325
 
3000
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L6)
3326
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L7)
3001
3327
 
3002
3328
  ```ts
3003
3329
  export interface ApprovalPanelState {
@@ -3010,7 +3336,7 @@ Referenced public types and APIs: [`ApprovalView`](#approvalview).
3010
3336
 
3011
3337
  ### ApprovalView
3012
3338
 
3013
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L5)
3339
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L6)
3014
3340
 
3015
3341
  ```ts
3016
3342
  export interface ApprovalView {
@@ -3033,23 +3359,21 @@ export interface ApprovalView {
3033
3359
 
3034
3360
  ### createFullAccessConfirmation
3035
3361
 
3036
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L5)
3362
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L7)
3037
3363
 
3038
3364
  ```ts
3039
- export declare function createFullAccessConfirmation(initial: FullAccessState, options?: {
3040
- idPrefix?: string;
3041
- }): UIBlock<FullAccessState> & {
3365
+ export declare function createFullAccessConfirmation(initial: FullAccessState, options?: FullAccessOptions): UIBlock<FullAccessState> & {
3042
3366
  readonly confirmButton: HTMLButtonElement;
3043
3367
  };
3044
3368
  ```
3045
3369
 
3046
- Referenced public types and APIs: [`FullAccessState`](#fullaccessstate), [`UIBlock`](#uiblock).
3370
+ Referenced public types and APIs: [`FullAccessOptions`](#fullaccessoptions), [`FullAccessState`](#fullaccessstate), [`UIBlock`](#uiblock).
3047
3371
 
3048
3372
  Related gallery: [full-access-confirmation](https://minifish-org.github.io/pith-ui/?item=full-access-confirmation).
3049
3373
 
3050
3374
  ### createPermissionControl
3051
3375
 
3052
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L19)
3376
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L24)
3053
3377
 
3054
3378
  ```ts
3055
3379
  export declare function createPermissionControl(initial: PermissionControlState, options?: {
@@ -3065,7 +3389,7 @@ Related gallery: [permission-control](https://minifish-org.github.io/pith-ui/?it
3065
3389
 
3066
3390
  ### createTaskFailure
3067
3391
 
3068
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L12)
3392
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L17)
3069
3393
 
3070
3394
  ```ts
3071
3395
  export declare function createTaskFailure(initial: TaskFailureState, options?: {
@@ -3080,9 +3404,22 @@ Referenced public types and APIs: [`TaskFailureState`](#taskfailurestate), [`UIB
3080
3404
 
3081
3405
  Related gallery: [task-failure](https://minifish-org.github.io/pith-ui/?item=task-failure).
3082
3406
 
3407
+ ### FullAccessOptions
3408
+
3409
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L6)
3410
+
3411
+ ```ts
3412
+ export interface FullAccessOptions {
3413
+ idPrefix?: string;
3414
+ onConfirm?: () => ActionResult | Promise<ActionResult>;
3415
+ }
3416
+ ```
3417
+
3418
+ Referenced public types and APIs: [`ActionResult`](#actionresult).
3419
+
3083
3420
  ### FullAccessState
3084
3421
 
3085
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L4)
3422
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L5)
3086
3423
 
3087
3424
  ```ts
3088
3425
  export interface FullAccessState {
@@ -3094,7 +3431,7 @@ export interface FullAccessState {
3094
3431
 
3095
3432
  ### PermissionControlState
3096
3433
 
3097
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L18)
3434
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L23)
3098
3435
 
3099
3436
  ```ts
3100
3437
  export interface PermissionControlState {
@@ -3106,7 +3443,7 @@ export interface PermissionControlState {
3106
3443
 
3107
3444
  ### TaskFailureState
3108
3445
 
3109
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L11)
3446
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L16)
3110
3447
 
3111
3448
  ```ts
3112
3449
  export interface TaskFailureState {
@@ -3194,7 +3531,7 @@ Related gallery: [foundation-colors](https://minifish-org.github.io/pith-ui/?ite
3194
3531
 
3195
3532
  ### createComposerView
3196
3533
 
3197
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L14)
3534
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L31)
3198
3535
 
3199
3536
  ```ts
3200
3537
  export declare function createComposerView(options?: ComposerViewOptions): {
@@ -3205,6 +3542,7 @@ export declare function createComposerView(options?: ComposerViewOptions): {
3205
3542
  reset(value: string): void;
3206
3543
  focus: () => void;
3207
3544
  resize: () => void;
3545
+ pickImages(): void;
3208
3546
  destroy(): void;
3209
3547
  };
3210
3548
  ```
@@ -3215,22 +3553,51 @@ Related gallery: [composer](https://minifish-org.github.io/pith-ui/?item=compose
3215
3553
 
3216
3554
  ### createWorkspaceShell
3217
3555
 
3218
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L67)
3219
-
3220
- ```ts
3221
- export declare function createWorkspaceShell(options: WorkspaceShellOptions): UIBlock<WorkspaceShellState> & {
3222
- composer: ReturnType<typeof createComposerView>;
3223
- part<T extends HTMLElement = HTMLElement>(name: string): T;
3556
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L115)
3557
+
3558
+ ```ts
3559
+ export declare function createWorkspaceShell(options: WorkspaceShellOptions): {
3560
+ element: HTMLDivElement;
3561
+ composer: {
3562
+ element: HTMLFormElement;
3563
+ input: HTMLTextAreaElement;
3564
+ update: (state: ComposerViewState) => void;
3565
+ getValue: () => string;
3566
+ reset(value: string): void;
3567
+ focus: () => void;
3568
+ resize: () => void;
3569
+ pickImages(): void;
3570
+ destroy(): void;
3571
+ };
3572
+ part: <T extends HTMLElement = HTMLElement>(name: string) => T;
3573
+ update(state: Readonly<WorkspaceShellState>): void;
3574
+ setSidebarOpen: (open: boolean) => void;
3575
+ openDialog(name: WorkspaceDialogName): void;
3576
+ closeDialog(name: WorkspaceDialogName): void;
3577
+ isDialogOpen(name: WorkspaceDialogName): boolean;
3578
+ updateActionAvailability(unavailable: (scope: ActionScope) => boolean, root?: ParentNode): void;
3579
+ destroy(): void;
3224
3580
  };
3225
3581
  ```
3226
3582
 
3227
- Referenced public types and APIs: [`UIBlock`](#uiblock), [`WorkspaceShellOptions`](#workspaceshelloptions), [`WorkspaceShellState`](#workspaceshellstate), [`createComposerView`](#createcomposerview).
3583
+ Referenced public types and APIs: [`ActionScope`](#actionscope), [`ComposerViewState`](#composerviewstate), [`WorkspaceDialogName`](#workspacedialogname), [`WorkspaceShellOptions`](#workspaceshelloptions), [`WorkspaceShellState`](#workspaceshellstate).
3228
3584
 
3229
3585
  Related gallery: [workspace-chat](https://minifish-org.github.io/pith-ui/?item=workspace-chat).
3230
3586
 
3587
+ ### ActionScope
3588
+
3589
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L112)
3590
+
3591
+ ```ts
3592
+ export interface ActionScope {
3593
+ kind: 'global' | 'conversation' | 'workspace' | 'active';
3594
+ id?: string;
3595
+ }
3596
+ ```
3597
+
3231
3598
  ### ComposerViewOptions
3232
3599
 
3233
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L5)
3600
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L13)
3234
3601
 
3235
3602
  ```ts
3236
3603
  export interface ComposerViewOptions {
@@ -3238,6 +3605,10 @@ export interface ComposerViewOptions {
3238
3605
  onSubmit?: (text: string) => void | ActionResult | Promise<void | ActionResult>;
3239
3606
  onStop?: () => void | ActionResult | Promise<void | ActionResult>;
3240
3607
  onInput?: (text: string) => void;
3608
+ onModel?: () => void;
3609
+ onAttach?: () => void;
3610
+ onImages?: (files: File[]) => void;
3611
+ onThinkingChange?: (value: string) => void;
3241
3612
  }
3242
3613
  ```
3243
3614
 
@@ -3245,7 +3616,7 @@ Referenced public types and APIs: [`ActionResult`](#actionresult).
3245
3616
 
3246
3617
  ### ComposerViewState
3247
3618
 
3248
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L4)
3619
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L7)
3249
3620
 
3250
3621
  ```ts
3251
3622
  export interface ComposerViewState {
@@ -3254,28 +3625,64 @@ export interface ComposerViewState {
3254
3625
  readOnly?: boolean;
3255
3626
  action?: 'send' | 'queue' | 'stop';
3256
3627
  actionDisabled?: boolean;
3628
+ model?: {
3629
+ label: string;
3630
+ description: string;
3631
+ disabled?: boolean;
3632
+ };
3633
+ thinking?: {
3634
+ options: readonly {
3635
+ value: string;
3636
+ label: string;
3637
+ }[];
3638
+ value: string;
3639
+ disabled?: boolean;
3640
+ };
3257
3641
  }
3258
3642
  ```
3259
3643
 
3644
+ ### WorkspaceDialogName
3645
+
3646
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L111)
3647
+
3648
+ ```ts
3649
+ export type WorkspaceDialogName = 'model' | 'settings' | 'workspace' | 'permissions' | 'delete' | 'rename' | 'queue-edit' | 'message-edit' | 'resources' | 'connections' | 'preview' | 'image';
3650
+ ```
3651
+
3260
3652
  ### WorkspaceShellOptions
3261
3653
 
3262
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L65)
3654
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L113)
3263
3655
 
3264
3656
  ```ts
3265
3657
  export interface WorkspaceShellOptions {
3266
3658
  brand: Node;
3267
3659
  prefix?: string;
3660
+ composer?: ComposerViewOptions;
3661
+ onDialogClose?: (name: WorkspaceDialogName) => void;
3662
+ onSearch?: (query: string) => void;
3663
+ onBusyAction?: (key: string) => void;
3268
3664
  }
3269
3665
  ```
3270
3666
 
3667
+ Referenced public types and APIs: [`ComposerViewOptions`](#composerviewoptions), [`WorkspaceDialogName`](#workspacedialogname).
3668
+
3271
3669
  ### WorkspaceShellState
3272
3670
 
3273
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L66)
3671
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L114)
3274
3672
 
3275
3673
  ```ts
3276
3674
  export interface WorkspaceShellState {
3277
3675
  workspace?: string;
3278
3676
  conversation?: string;
3279
3677
  reconnecting?: boolean;
3678
+ error?: {
3679
+ message: string;
3680
+ hidden?: boolean;
3681
+ };
3682
+ busy?: {
3683
+ key: string;
3684
+ message: string;
3685
+ actionLabel: string;
3686
+ } | null;
3280
3687
  }
3281
3688
  ```