@workerdeck/ui 1.1.0 → 1.3.0

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 (43) hide show
  1. package/README.md +4 -0
  2. package/build/{SessionPanel-yNO60Tzw.d.mts → SessionPanel-BSwUJDwg.d.mts} +3 -8
  3. package/build/{SessionPanel-I5QSLLb0.mjs → SessionPanel-DQp2oStr.mjs} +409 -267
  4. package/build/SessionPanel-DQp2oStr.mjs.map +1 -0
  5. package/build/{format-C_lpFq0l.d.mts → format-TVRJzYUj.d.mts} +3 -2
  6. package/build/format.d.mts +2 -7
  7. package/build/format.mjs +2 -2
  8. package/build/index.d.mts +34 -9
  9. package/build/index.mjs +38 -12
  10. package/build/index.mjs.map +1 -1
  11. package/build/scoped.css +11 -0
  12. package/build/{status-Dm9INVTt.mjs → status-C4TAgVSc.mjs} +3 -7
  13. package/build/status-C4TAgVSc.mjs.map +1 -0
  14. package/build/workspace.d.mts +3 -2
  15. package/build/workspace.mjs +4 -3
  16. package/build/workspace.mjs.map +1 -1
  17. package/package.json +4 -4
  18. package/src/components/agent/Composer.tsx +2 -4
  19. package/src/components/agent/ContextDialog.tsx +17 -2
  20. package/src/components/agent/ContextRing.tsx +36 -7
  21. package/src/components/agent/EntryIcon.tsx +2 -4
  22. package/src/components/agent/McpDialog.tsx +2 -0
  23. package/src/components/agent/SessionItem.tsx +1 -1
  24. package/src/components/agent/SessionPanel.tsx +198 -186
  25. package/src/components/agent/SessionWorkspace.tsx +3 -0
  26. package/src/components/agent/StatusBar.tsx +12 -4
  27. package/src/components/agent/ToolCallCard.tsx +6 -1
  28. package/src/components/agent/TranscriptItemView.tsx +15 -2
  29. package/src/components/agent/TranscriptRows.tsx +4 -6
  30. package/src/components/agent/held-sends.tsx +73 -0
  31. package/src/components/agent/tool-titles.tsx +12 -0
  32. package/src/components/agent/use-subagent-frame.ts +8 -10
  33. package/src/components/agent/use-transcript-jumps.ts +7 -9
  34. package/src/components/terminal/TerminalTranscript.tsx +15 -1
  35. package/src/components/terminal/height.ts +4 -1
  36. package/src/components/terminal/items.tsx +14 -3
  37. package/src/index.ts +2 -0
  38. package/src/lib/context-note.ts +24 -0
  39. package/src/lib/css.ts +3 -5
  40. package/src/lib/format.ts +3 -0
  41. package/src/lib/status.ts +3 -5
  42. package/build/SessionPanel-I5QSLLb0.mjs.map +0 -1
  43. package/build/status-Dm9INVTt.mjs.map +0 -1
package/README.md CHANGED
@@ -176,6 +176,10 @@ lose by forgetting a second mount isn't one.
176
176
  - **`transcriptDensity` and `transcriptFont` reach `cards` only.** A terminal has one line height
177
177
  and is monospace by construction. Under `terminal` both are inert rather than broken — a host
178
178
  offering them as settings should say so, or hide them (the dashboard hides them).
179
+ - **`midTurnSend: 'hold'` is a client-side hold, not an engine setting.** There is no option that
180
+ stops Claude Code folding a mid-turn message into the running turn, so `'hold'` queues the
181
+ message in the panel and sends it once the turn ends (an interrupt counts). A held message is
182
+ not in the transcript yet — `HeldSendsBar` is its only trace — so do not hide it.
179
183
  - **`scrubber` and `stickyPrompt` reach `terminal` only**, and by construction rather than policy.
180
184
  Both rest on the theme's premise — one line height and one cell make a row's height computable —
181
185
  and under `cards` the flags are inert.
@@ -84,7 +84,6 @@ interface SessionPanelProps {
84
84
  affordances?: TerminalAffordances | boolean;
85
85
  terminalMetrics?: TerminalMetrics;
86
86
  scrubber?: boolean;
87
- /** Bookmarked transcript item ids — the host owns membership and persistence. */
88
87
  bookmarks?: readonly string[];
89
88
  onToggleBookmark?: (itemId: string) => void;
90
89
  reveal?: {
@@ -99,6 +98,7 @@ interface SessionPanelProps {
99
98
  stickyPrompt?: boolean;
100
99
  transcriptDensity?: TranscriptDensity;
101
100
  transcriptFont?: TranscriptFont;
101
+ midTurnSend?: 'fold' | 'hold';
102
102
  controlsSurface?: 'internal' | 'external' | 'status';
103
103
  onControls?: (controls: SessionControls | undefined) => void;
104
104
  focusComposerOnClick?: boolean;
@@ -136,16 +136,11 @@ type SessionVitals = {
136
136
  cwd: TranscriptState['cwd'];
137
137
  contextUsage: TranscriptState['contextUsage'];
138
138
  rateLimits: TranscriptState['rateLimits'];
139
- /**
140
- * When the newest window in `rateLimits` was reported, as event time — not receive time. External chrome (the
141
- * VS Code status bar, iOS) cannot otherwise tell a live reading from one a days-old session just replayed.
142
- * Absent means unknown, which is not the same as fresh.
143
- */
144
139
  rateLimitsUpdatedAt: number | undefined;
145
140
  itemCount: number;
146
141
  totalCostUsd: number;
147
142
  };
148
- declare function SessionPanel({ client, sessionId, header, panelSurface, statusSurface, statusPlacement, onOpenPanel, onVitals, transcriptVariant, transcriptDensity, transcriptFont, affordances, terminalMetrics, scrubber, bookmarks, onToggleBookmark, reveal, openSubagent, onSubagentChange, stickyPrompt, controlsSurface, onControls, focusComposerOnClick, unseen, readOnly, toolHost, clientTools, cacheTranscript, emptyState, onLinkClick, fontSize, className }: SessionPanelProps): import("react").JSX.Element;
143
+ declare function SessionPanel({ client, sessionId, header, panelSurface, statusSurface, statusPlacement, onOpenPanel, onVitals, transcriptVariant, transcriptDensity, transcriptFont, midTurnSend, affordances, terminalMetrics, scrubber, bookmarks, onToggleBookmark, reveal, openSubagent, onSubagentChange, stickyPrompt, controlsSurface, onControls, focusComposerOnClick, unseen, readOnly, toolHost, clientTools, cacheTranscript, emptyState, onLinkClick, fontSize, className }: SessionPanelProps): import("react").JSX.Element;
149
144
  //#endregion
150
145
  export { permissionModeChoices as C, PermissionModeSelectProps as S, useAffordances as _, SessionVitals as a, PermissionModeMeta as b, TranscriptDensityProvider as c, TranscriptVariantProvider as d, useTranscriptDensity as f, WithActions as g, TerminalAffordances as h, SessionSurfacePanel as i, TranscriptFont as l, CopyAction as m, SessionPanel as n, TerminalMetrics as o, useTranscriptVariant as p, SessionPanelProps as r, TranscriptDensity as s, SessionControls as t, TranscriptVariant as u, PERMISSION_MODES as v, permissionModeMeta as w, PermissionModeSelect as x, PermissionModeChoice as y };
151
- //# sourceMappingURL=SessionPanel-yNO60Tzw.d.mts.map
146
+ //# sourceMappingURL=SessionPanel-BSwUJDwg.d.mts.map