@workerdeck/ui 0.17.0 → 0.18.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 (40) hide show
  1. package/build/{SessionPanel-CnNYEX80.d.mts → SessionPanel-CnU_IJ3-.d.mts} +24 -9
  2. package/build/{SessionPanel-DMPhsNlW.mjs → SessionPanel-DPx8Iz8a.mjs} +439 -74
  3. package/build/SessionPanel-DPx8Iz8a.mjs.map +1 -0
  4. package/build/{format-DfI_je9S.d.mts → format-ljc3lKpA.d.mts} +1 -1
  5. package/build/format.d.mts +16 -5
  6. package/build/format.mjs +2 -3
  7. package/build/index.d.mts +237 -8
  8. package/build/index.mjs +399 -167
  9. package/build/index.mjs.map +1 -1
  10. package/build/{format-DqR56Y8l.mjs → status-BE-zg88x.mjs} +154 -2
  11. package/build/status-BE-zg88x.mjs.map +1 -0
  12. package/build/workspace.d.mts +4 -1
  13. package/build/workspace.mjs +4 -3
  14. package/build/workspace.mjs.map +1 -1
  15. package/package.json +4 -4
  16. package/src/components/agent/ContextRing.tsx +41 -0
  17. package/src/components/agent/EngineIcon.tsx +40 -0
  18. package/src/components/agent/SessionBrowser.tsx +115 -22
  19. package/src/components/agent/SessionPanel.tsx +153 -3
  20. package/src/components/agent/SessionSteps.tsx +233 -0
  21. package/src/components/agent/SessionWorkspace.tsx +4 -0
  22. package/src/components/agent/StatusBar.tsx +4 -2
  23. package/src/components/agent/SubagentStrip.tsx +134 -0
  24. package/src/components/agent/Transcript.tsx +138 -19
  25. package/src/components/agent/transcript-rows.ts +9 -1
  26. package/src/components/terminal/TerminalTranscript.tsx +77 -3
  27. package/src/components/terminal/affordances.tsx +34 -0
  28. package/src/components/terminal/blocks.ts +28 -0
  29. package/src/components/terminal/height.ts +24 -0
  30. package/src/components/terminal/items.tsx +1 -1
  31. package/src/components/terminal/scrubber.tsx +28 -3
  32. package/src/components/terminal/tool-run.ts +49 -5
  33. package/src/index.ts +19 -1
  34. package/src/lib/status.ts +16 -3
  35. package/src/styles/terminal.css +10 -0
  36. package/src/styles/theme.css +42 -0
  37. package/build/SessionPanel-DMPhsNlW.mjs.map +0 -1
  38. package/build/format-DqR56Y8l.mjs.map +0 -1
  39. package/build/status-Ydzi7n6j.mjs +0 -143
  40. package/build/status-Ydzi7n6j.mjs.map +0 -1
@@ -120,14 +120,6 @@ declare function WithActions({
120
120
  children: ReactNode;
121
121
  className?: string;
122
122
  }): _$react.JSX.Element;
123
- /**
124
- * Copy, as a character.
125
- *
126
- * `⧉` and `✓` rather than an SVG for the same reason the rest of the theme uses
127
- * glyphs: an icon drawn at some other size sits between the cells everything
128
- * else is on, and reads as a button borrowed from another application. The tick
129
- * replaces the glyph in place, so the confirmation costs no width either.
130
- */
131
123
  declare function CopyAction({
132
124
  text,
133
125
  label
@@ -337,6 +329,28 @@ interface SessionPanelProps {
337
329
  toolUseId: string;
338
330
  nonce: number;
339
331
  };
332
+ /**
333
+ * Open a **sub-agent takeover**: the panel body becomes that agent's own work,
334
+ * with a way back. Bump `nonce` to ask again for the same one.
335
+ *
336
+ * A *request*, not a controlled value — the panel owns which agent is open,
337
+ * exactly as it owns `panel`. Dismissal has to work with zero host wiring
338
+ * (Back and Escape are the panel's own affordances), and the two hosts in
339
+ * scope reach this across a postMessage bridge where a controlled prop would
340
+ * need a live closure at the far end. Same shape and same reason as
341
+ * {@link SessionPanelProps.reveal}.
342
+ *
343
+ * Hosts must clear their request on a session switch: a stale one replayed at
344
+ * remount would open a frame the new transcript cannot answer.
345
+ *
346
+ * Claude-only in practice, and gated by data rather than by a flag — codex and
347
+ * provider sessions have no `parentToolUseId`, so they grow no task blocks and
348
+ * no sub-agent rows, and nothing can raise this.
349
+ */
350
+ openSubagent?: {
351
+ toolUseId: string;
352
+ nonce: number;
353
+ };
340
354
  /**
341
355
  * Terminal theme only: hold the prompt of the turn you are reading at the top
342
356
  * of the transcript, as the Claude Code CLI does. The **real row** is pinned
@@ -531,6 +545,7 @@ declare function SessionPanel({
531
545
  scrubber,
532
546
  scrubberMarks,
533
547
  reveal,
548
+ openSubagent,
534
549
  stickyPrompt,
535
550
  controlsSurface,
536
551
  onControls,
@@ -543,4 +558,4 @@ declare function SessionPanel({
543
558
  }: SessionPanelProps): _$react.JSX.Element;
544
559
  //#endregion
545
560
  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 };
546
- //# sourceMappingURL=SessionPanel-CnNYEX80.d.mts.map
561
+ //# sourceMappingURL=SessionPanel-CnU_IJ3-.d.mts.map