@design.estate/dees-catalog 11.2.1 → 11.2.2

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.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '11.2.1',
6
+ version: '11.2.2',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
@@ -57,8 +57,12 @@ export declare class DeesHarnessToolCard extends DeesElement {
57
57
  private get enrichedCall();
58
58
  get isOpen(): boolean;
59
59
  private get resolvedCollapseWhenFinished();
60
- /** Outcome line shown only while collapsed; the subtitle already carries the request. */
61
- private get collapsedSummary();
60
+ /**
61
+ * Outcome line that stands in for the body while collapsed; the subtitle already carries the
62
+ * request. Derived from the settled call alone, not from the disclosure state, so the text stays
63
+ * put while the line animates open or closed instead of appearing and vanishing mid-transition.
64
+ */
65
+ private get resultSummary();
62
66
  private get hasSubtaskPreview();
63
67
  private get hasLiveSubtaskPreview();
64
68
  private get activeSubtaskPreview();
@@ -208,20 +208,31 @@ let DeesHarnessToolCard = (() => {
208
208
  :host {
209
209
  display: block;
210
210
  container-type: inline-size;
211
- margin-inline: auto;
212
211
  max-width: 100%;
213
212
  font-family: var(--dees-font-family);
214
- transition: max-width var(--dees-transition-default) var(--dees-ease-standard);
215
213
  }
216
214
 
217
215
  /*
218
- * A collapsed card may be held to a narrower measure than its row. The host — not the inner
219
- * surface — carries the constraint so the card's own inline-size container keeps measuring
220
- * what is actually rendered. The width comes from the context the card sits in: a transcript
221
- * row that holds this card alone sets it, a multi-card grid cell leaves it unset, and a
222
- * direct host falls back to the full row.
216
+ * A collapsed card may be held to a narrower measure than its row. The constraint lives on
217
+ * the card surface rather than the host for two reasons: the surface is its own inline-size
218
+ * container, so the header's container queries measure what is actually rendered, and a host
219
+ * cannot transition its own width. The shared default stylesheet applies a universal
220
+ * transition of background and color to every element; from the parent's tree that rule
221
+ * targets this host and outranks any host-scoped rule, so a width transition declared on the
222
+ * host is silently dropped and the card snaps instead of interpolating.
223
+ *
224
+ * The width comes from the context the card sits in: a transcript row of terminal and
225
+ * file-write cards sets it, side-by-side grids leave it unset, and a direct host falls back
226
+ * to the full row.
223
227
  */
224
- :host([data-collapsed]) {
228
+ .harness-card {
229
+ max-width: 100%;
230
+ margin-inline: auto;
231
+ container-type: inline-size;
232
+ transition: max-width var(--dees-transition-default) var(--dees-ease-standard);
233
+ }
234
+
235
+ :host([data-collapsed]) .harness-card {
225
236
  max-width: var(--dees-harness-collapsed-tool-width, 100%);
226
237
  }
227
238
 
@@ -374,7 +385,31 @@ let DeesHarnessToolCard = (() => {
374
385
  font-size: 12px;
375
386
  }
376
387
 
377
- /* Stands in for the body while a finished card is collapsed. */
388
+ /*
389
+ * Stands in for the body while a finished card is collapsed. It opens and closes on the same
390
+ * timing as the body and the width, so the header never steps by a line at the instant of a
391
+ * toggle; the node stays mounted and is hidden from assistive technology while open.
392
+ */
393
+ .summaryDisclosure {
394
+ display: grid;
395
+ grid-template-rows: 1fr;
396
+ min-height: 0;
397
+ opacity: 1;
398
+ transition:
399
+ grid-template-rows var(--dees-transition-default) var(--dees-ease-standard),
400
+ opacity var(--dees-transition-fast) var(--dees-ease-standard);
401
+ }
402
+
403
+ .summaryDisclosure[aria-hidden='true'] {
404
+ grid-template-rows: 0fr;
405
+ opacity: 0;
406
+ }
407
+
408
+ .summaryDisclosureInner {
409
+ min-height: 0;
410
+ overflow: hidden;
411
+ }
412
+
378
413
  .resultSummary {
379
414
  display: block;
380
415
  margin-top: 2px;
@@ -767,7 +802,10 @@ let DeesHarnessToolCard = (() => {
767
802
  }
768
803
 
769
804
  @media (prefers-reduced-motion: reduce) {
770
- .bodyDisclosure {
805
+ /* The disclosure moves as one piece, so all three parts of it stop together. */
806
+ .bodyDisclosure,
807
+ .harness-card,
808
+ .summaryDisclosure {
771
809
  transition: none;
772
810
  }
773
811
 
@@ -820,9 +858,13 @@ let DeesHarnessToolCard = (() => {
820
858
  return collapseWhenFinished(this.enrichedCall);
821
859
  return collapseWhenFinished ?? false;
822
860
  }
823
- /** Outcome line shown only while collapsed; the subtitle already carries the request. */
824
- get collapsedSummary() {
825
- if (this.isOpen || !this.descriptor.summary)
861
+ /**
862
+ * Outcome line that stands in for the body while collapsed; the subtitle already carries the
863
+ * request. Derived from the settled call alone, not from the disclosure state, so the text stays
864
+ * put while the line animates open or closed instead of appearing and vanishing mid-transition.
865
+ */
866
+ get resultSummary() {
867
+ if (!this.descriptor.summary)
826
868
  return '';
827
869
  if (this.call.status !== 'completed' && this.call.status !== 'stopped')
828
870
  return '';
@@ -857,7 +899,7 @@ let DeesHarnessToolCard = (() => {
857
899
  const statusTone = effectiveStatus === 'completed' ? 'success'
858
900
  : effectiveStatus === 'stopped' ? 'warning' : effectiveStatus;
859
901
  const duration = harnessFormatDuration(call.startedAt, call.finishedAt);
860
- const collapsedSummary = this.collapsedSummary;
902
+ const resultSummary = this.resultSummary;
861
903
  return html `
862
904
  <div class="harness-card status-${effectiveStatus} ${descriptor.destructive ? 'destructive' : ''} ${this.hasSubtaskPreview ? 'subtaskPreviewCard' : ''} ${this.hasSubtaskPreview && open ? 'subtaskPreviewOpen' : ''} ${this.returnFlash ? 'returnFlash' : ''} ${this.outcomeScanTone ? `outcomeScan outcomeScan-${this.outcomeScanTone}` : ''}"
863
905
  @mouseenter=${this.cancelTerminalTailReturn}
@@ -886,8 +928,17 @@ let DeesHarnessToolCard = (() => {
886
928
  ${subtitle
887
929
  ? html `<dees-harness-overflow-text class="subtitle" title=${subtitleTooltip}>${subtitle}</dees-harness-overflow-text>`
888
930
  : ''}
889
- ${collapsedSummary
890
- ? html `<dees-harness-overflow-text class="resultSummary" title=${collapsedSummary}>${collapsedSummary}</dees-harness-overflow-text>`
931
+ ${resultSummary
932
+ ? html `
933
+ <span class="summaryDisclosure" aria-hidden=${open ? 'true' : 'false'}>
934
+ <span class="summaryDisclosureInner">
935
+ <dees-harness-overflow-text
936
+ class="resultSummary"
937
+ title=${resultSummary}
938
+ >${resultSummary}</dees-harness-overflow-text>
939
+ </span>
940
+ </span>
941
+ `
891
942
  : ''}
892
943
  </span>
893
944
  <span class="metaColumn">
@@ -1487,4 +1538,4 @@ let DeesHarnessToolCard = (() => {
1487
1538
  return DeesHarnessToolCard = _classThis;
1488
1539
  })();
1489
1540
  export { DeesHarnessToolCard };
1490
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC9kZWVzLWhhcm5lc3MtdG9vbC1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBT3RELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsWUFBWSxHQUdiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUksT0FBTyxFQUNMLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQixlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFLbkcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDekcsT0FBTyxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLHVFQUF1RSxDQUFDO0FBQy9FLE9BQU8sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxpREFBaUQsQ0FBQztBQUN6RCxPQUFP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
1541
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC9kZWVzLWhhcm5lc3MtdG9vbC1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBT3RELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsWUFBWSxHQUdiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUksT0FBTyxFQUNMLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQixlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFLbkcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDekcsT0FBTyxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLHVFQUF1RSxDQUFDO0FBQy9FLE9BQU8sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxpREFBaUQsQ0FBQztBQUN6RCxPQUFP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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "11.2.1",
3
+ "version": "11.2.2",
4
4
  "private": false,
5
5
  "description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
6
6
  "main": "dist_ts_web/index.js",
@@ -47,7 +47,7 @@
47
47
  "@design.estate/dees-wcctools": "^3.9.4",
48
48
  "@git.zone/tsbuild": "^4.4.3",
49
49
  "@git.zone/tsbundle": "^2.13.0",
50
- "@git.zone/tstest": "^6.1.0",
50
+ "@git.zone/tstest": "^6.1.1",
51
51
  "@git.zone/tswatch": "^3.3.5",
52
52
  "@push.rocks/projectinfo": "^5.1.0",
53
53
  "@types/node": "^26.5.0"
package/readme.md CHANGED
@@ -2640,7 +2640,7 @@ Scrollable streaming-safe log. Up to 40 canonical entries (`messages` + `permiss
2640
2640
 
2641
2641
  `refreshMessages(ids?)` reconciles in-place host mutations without replacing canonical objects. With IDs, it refreshes only matching message rows that are currently mounted; matching offscreen rows remain unmounted and use the mutated canonical objects when later mounted. With IDs omitted, it rebuilds structural transcript state and refreshes all mounted rows. `[]` is a no-op.
2642
2642
 
2643
- Producers with authoritative source chronology can set `IHarnessMessage.order` to `{ messageIndex, partIndex }`; explicitly ordered messages retain that relative order while timestamps continue to place legacy messages and ancillary cards. Consecutive tool calls use one generic responsive-grid pipeline at their chronological position, partitioned by descriptor layout: compact tools share rows with compact tools, subagents share rows only with subagents, and terminal plus file-write cards span a whole row. Consecutive same-layout runs are always capped at four cards per group row, even when their tool kinds differ. Columns respond to the row's own width rather than the viewport, and status changes never regroup cards. Because a compact group sits inside the content measure, its column count is bounded by that measure — two columns at the 820px default; the wider three- and four-column steps apply when a host widens `--dees-harness-content-width`. Rows are held to a reading measure — `--dees-harness-content-width`, default `820px`, capped at the available width — while terminal and file-write rows keep the full pane, so prose stays readable and diffs and command output get the room they need. A subagent group takes the pane only from three cards upward; one or two stay on the measure. A terminal or file-write card keeps the pane only while it is open: once collapsed it returns to the reading measure, because a one-line header does not need the room its output did. This holds for every card in a terminal/file-write group, not only a lone one — those cards span all the columns of their row and stack vertically, so each follows its own disclosure and a collapsed command can sit above an open diff. The row itself still spans the pane; the card centres inside it and animates between the two widths with the standard disclosure timing. The genuinely side-by-side grids — compact tools and subagents — are never offered this width and keep their cell width in both states. The list publishes the collapsed width to its terminal/file-write rows as `--dees-harness-collapsed-tool-width`, derived from `--dees-harness-content-width`; a host can set it on a row to widen those cards, or set `100%` to keep collapsed cards full-bleed; setting it on the chat or the list also reaches compact and subagent cells, so prefer row-level overrides. The docked composer keeps its full-bleed bar and insets its content to the same measure, so the prompt lines up with the messages above it. The status line under the transcript sits on that measure too, so the working indicator starts where the messages start rather than at the pane edge. Set the custom property on the chat or the list to widen or disable the column; it is read when rows are measured, so change it at mount rather than while a virtualized transcript is scrolled. Untouched projected subtask cards collapse individually on completion with the normal disclosure animation; other cards retain their descriptor or user-selected disclosure state. Auto-follow responds to streamed growth but does not repeatedly repin while a disclosure shrinks. Permission requests, questions, and nested-stream limits behave as before. Props: `messages`, `permissions`/`permissionsBusy`, `questions`, `status`, `viewState`, `transcriptKey`, `hasEarlierMessages`, `loadingEarlier`, `autoFollow`, `hideScrollbar`, `fadeScrollEdges`, `showRoles`, `showTimestamps`, `allowSubtaskStreams`, `markdownWhileStreaming` (default `true`), `emptyTitle`/`emptyText` (+ `slot="empty"`). Native browser find and selection cover the mounted window; hosts that require complete-history search or copy should operate on their canonical `messages`, `permissions`, and `questions` models.
2643
+ Producers with authoritative source chronology can set `IHarnessMessage.order` to `{ messageIndex, partIndex }`; explicitly ordered messages retain that relative order while timestamps continue to place legacy messages and ancillary cards. Consecutive tool calls use one generic responsive-grid pipeline at their chronological position, partitioned by descriptor layout: compact tools share rows with compact tools, subagents share rows only with subagents, and terminal plus file-write cards span a whole row. Consecutive same-layout runs are always capped at four cards per group row, even when their tool kinds differ. Columns respond to the row's own width rather than the viewport, and status changes never regroup cards. Because a compact group sits inside the content measure, its column count is bounded by that measure — two columns at the 820px default; the wider three- and four-column steps apply when a host widens `--dees-harness-content-width`. Rows are held to a reading measure — `--dees-harness-content-width`, default `820px`, capped at the available width — while terminal and file-write rows keep the full pane, so prose stays readable and diffs and command output get the room they need. A subagent group takes the pane only from three cards upward; one or two stay on the measure. A terminal or file-write card keeps the pane only while it is open: once collapsed it returns to the reading measure, because a one-line header does not need the room its output did. This holds for every card in a terminal/file-write group, not only a lone one — those cards span all the columns of their row and stack vertically, so each follows its own disclosure and a collapsed command can sit above an open diff. The row itself still spans the pane; the card surface centres inside it and interpolates between the two widths on the standard disclosure timing, in step with the body height and the outcome line, so a toggle never snaps at either end. A card that mounts collapsed is already at its measure and does not animate into it. The genuinely side-by-side grids — compact tools and subagents — are never offered this width and keep their cell width in both states. The list publishes the collapsed width to its terminal/file-write rows as `--dees-harness-collapsed-tool-width`, derived from `--dees-harness-content-width`; a host can set it on a row to widen those cards, or set `100%` to keep collapsed cards full-bleed; setting it on the chat or the list also reaches compact and subagent cells, so prefer row-level overrides. The docked composer keeps its full-bleed bar and insets its content to the same measure, so the prompt lines up with the messages above it. The status line under the transcript sits on that measure too, so the working indicator starts where the messages start rather than at the pane edge. Set the custom property on the chat or the list to widen or disable the column; it is read when rows are measured, so change it at mount rather than while a virtualized transcript is scrolled. Untouched projected subtask cards collapse individually on completion with the normal disclosure animation; other cards retain their descriptor or user-selected disclosure state. Auto-follow responds to streamed growth but does not repeatedly repin while a disclosure shrinks. Permission requests, questions, and nested-stream limits behave as before. Props: `messages`, `permissions`/`permissionsBusy`, `questions`, `status`, `viewState`, `transcriptKey`, `hasEarlierMessages`, `loadingEarlier`, `autoFollow`, `hideScrollbar`, `fadeScrollEdges`, `showRoles`, `showTimestamps`, `allowSubtaskStreams`, `markdownWhileStreaming` (default `true`), `emptyTitle`/`emptyText` (+ `slot="empty"`). Native browser find and selection cover the mounted window; hosts that require complete-history search or copy should operate on their canonical `messages`, `permissions`, and `questions` models.
2644
2644
 
2645
2645
  #### `DeesHarnessMessage`
2646
2646
 
@@ -2654,7 +2654,7 @@ One message: role accent, markdown (assistant default, `message.markdown` overri
2654
2654
 
2655
2655
  #### `DeesHarnessToolCard`
2656
2656
 
2657
- Tool-call card: shared chrome (icon, label, subtitle, status pill, duration, MCP badges) with a per-kind body. Kind resolution goes through `DeesHarnessToolRegistry` (see below); bodies for the seeded kinds — terminal, file-read, file-write (renders a before/after diff via `dees-dataview-codebox` when the input carries previous content), file-delete, dir-list, browser (inline screenshots), http, json, search, subtask, project-task, todo, mcp, unknown — live in `renderers.ts`. File-write cards retain the user's inline/split choice while the same call updates. Numeric patch hunks preserve their source line numbers; patches and replacement snippets without coordinates hide gutters rather than presenting fabricated positions. A producer-supplied `IHarnessToolCall.title` leads the subtitle when present — a harness's own one-line description of the call, such as `Read SKILL.md` for a shell invocation — and the descriptor-derived line stays reachable as the hover tooltip; a blank title falls back to the derived line. Overflowing subtitles use a 40px right-edge fade and reveal the full line on hover plus once after a two-second initial delay. Expand/collapse always uses a smooth disclosure transition. Initially closed bodies mount lazily on first expansion, then retain the same DOM and become inert plus `aria-hidden` while closed. A closed card also reflects `data-collapsed` on its host and honours `--dees-harness-collapsed-tool-width` as its own `max-width`, so a transcript row can hold a collapsed card to a narrower measure than an open one; unset — a direct tool-card host, a grid cell — the card fills its row in both states. Long outputs truncate at 6,000 chars with a "Show all" expander. Terminal and error cards open by default, and a terminal card collapses itself again once its command has finished without reporting a failure. A producer whose failed commands come back as `completed` with the failure only in the output must signal it through `exitCode`, `isError` or `status: 'error'`, or the card collapses behind its one-line outcome. A missing exit code is not a failure — most harnesses never send one — so a completed command collapses whether or not it reported `exitCode: 0`. A non-zero exit, an error status, `isError`, and a stopped command all keep their output on screen. A collapsed terminal shows a one-line outcome (exit code when the call carried one, line count or `no output`, and the last meaningful line) beneath the command; an exit code is never invented for a call that did not report one. It is derived from the call's own output rather than from any producer-supplied description, so it is present for every producer. An explicit expand or collapse by the user always wins and is never overridden when the call settles. Descriptors opt in through `collapseWhenFinished` and supply the line through `summary`. Terminal output uses a black inner log surface and follows the live tail after reaching the card-height cap. Scrolling upward detaches the tail; leaving the card returns to the bottom after five seconds, while re-entering cancels that pending return. Terminal calls may provide `exitCode` separately when `output` is one combined process stream; the renderer retains support for `{ stdout, stderr, exitCode }` output objects. A subagent card is capped by `--dees-harness-active-subtask-height` (default `320px`) rather than fixed to it: a settled agent whose brief and result fit sizes to its own text, and only content past the cap hands the overflow to the panels, which scroll with a hidden scrollbar and a fade mask at the clipped edge. Both the Agent Brief and the Result carry that affordance, and the drill-in action stays pinned at the bottom of the card. A live child keeps the full window so its streaming transcript has a stable area to scroll in.
2657
+ Tool-call card: shared chrome (icon, label, subtitle, status pill, duration, MCP badges) with a per-kind body. Kind resolution goes through `DeesHarnessToolRegistry` (see below); bodies for the seeded kinds — terminal, file-read, file-write (renders a before/after diff via `dees-dataview-codebox` when the input carries previous content), file-delete, dir-list, browser (inline screenshots), http, json, search, subtask, project-task, todo, mcp, unknown — live in `renderers.ts`. File-write cards retain the user's inline/split choice while the same call updates. Numeric patch hunks preserve their source line numbers; patches and replacement snippets without coordinates hide gutters rather than presenting fabricated positions. A producer-supplied `IHarnessToolCall.title` leads the subtitle when present — a harness's own one-line description of the call, such as `Read SKILL.md` for a shell invocation — and the descriptor-derived line stays reachable as the hover tooltip; a blank title falls back to the derived line. Overflowing subtitles use a 40px right-edge fade and reveal the full line on hover plus once after a two-second initial delay. Expand/collapse always uses a smooth disclosure transition: the card surface width, the body height and the collapsed outcome line all run on `--dees-transition-default` with `--dees-ease-standard`, started by the same update, and all three stop together under `prefers-reduced-motion: reduce`. Width is constrained on the card surface rather than the host, because the shared default stylesheet applies a universal background/colour transition to every element and that rule reaches this element from its parent's tree, where it outranks any host-scoped rule. Initially closed bodies mount lazily on first expansion, then retain the same DOM and become inert plus `aria-hidden` while closed; the outcome line likewise stays mounted and is hidden from assistive technology while the card is open. A closed card also reflects `data-collapsed` on its host and honours `--dees-harness-collapsed-tool-width` as its own `max-width`, so a transcript row can hold a collapsed card to a narrower measure than an open one; unset — a direct tool-card host, a grid cell — the card fills its row in both states. Long outputs truncate at 6,000 chars with a "Show all" expander. Terminal and error cards open by default, and a terminal card collapses itself again once its command has finished without reporting a failure. A producer whose failed commands come back as `completed` with the failure only in the output must signal it through `exitCode`, `isError` or `status: 'error'`, or the card collapses behind its one-line outcome. A missing exit code is not a failure — most harnesses never send one — so a completed command collapses whether or not it reported `exitCode: 0`. A non-zero exit, an error status, `isError`, and a stopped command all keep their output on screen. A collapsed terminal shows a one-line outcome (exit code when the call carried one, line count or `no output`, and the last meaningful line) beneath the command, which opens and closes with the same timing as the body so the header never steps by a line; an exit code is never invented for a call that did not report one. It is derived from the call's own output rather than from any producer-supplied description, so it is present for every producer. An explicit expand or collapse by the user always wins and is never overridden when the call settles. Descriptors opt in through `collapseWhenFinished` and supply the line through `summary`. Terminal output uses a black inner log surface and follows the live tail after reaching the card-height cap. Scrolling upward detaches the tail; leaving the card returns to the bottom after five seconds, while re-entering cancels that pending return. Terminal calls may provide `exitCode` separately when `output` is one combined process stream; the renderer retains support for `{ stdout, stderr, exitCode }` output objects. A subagent card is capped by `--dees-harness-active-subtask-height` (default `320px`) rather than fixed to it: a settled agent whose brief and result fit sizes to its own text, and only content past the cap hands the overflow to the panels, which scroll with a hidden scrollbar and a fade mask at the clipped edge. Both the Agent Brief and the Result carry that affordance, and the drill-in action stays pinned at the bottom of the card. A live child keeps the full window so its streaming transcript has a stable area to scroll in.
2658
2658
 
2659
2659
  After mutating a canonical tool call in place, call `refreshCall()`. It refreshes the mounted card, any mounted nested subtask transcript, and any open fullscreen card while retaining the same canonical call and nested-message object references; it does not clone or replace them.
2660
2660
 
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '11.2.1',
6
+ version: '11.2.2',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  }
@@ -131,20 +131,31 @@ export class DeesHarnessToolCard extends DeesElement {
131
131
  :host {
132
132
  display: block;
133
133
  container-type: inline-size;
134
- margin-inline: auto;
135
134
  max-width: 100%;
136
135
  font-family: var(--dees-font-family);
137
- transition: max-width var(--dees-transition-default) var(--dees-ease-standard);
138
136
  }
139
137
 
140
138
  /*
141
- * A collapsed card may be held to a narrower measure than its row. The host — not the inner
142
- * surface — carries the constraint so the card's own inline-size container keeps measuring
143
- * what is actually rendered. The width comes from the context the card sits in: a transcript
144
- * row that holds this card alone sets it, a multi-card grid cell leaves it unset, and a
145
- * direct host falls back to the full row.
139
+ * A collapsed card may be held to a narrower measure than its row. The constraint lives on
140
+ * the card surface rather than the host for two reasons: the surface is its own inline-size
141
+ * container, so the header's container queries measure what is actually rendered, and a host
142
+ * cannot transition its own width. The shared default stylesheet applies a universal
143
+ * transition of background and color to every element; from the parent's tree that rule
144
+ * targets this host and outranks any host-scoped rule, so a width transition declared on the
145
+ * host is silently dropped and the card snaps instead of interpolating.
146
+ *
147
+ * The width comes from the context the card sits in: a transcript row of terminal and
148
+ * file-write cards sets it, side-by-side grids leave it unset, and a direct host falls back
149
+ * to the full row.
146
150
  */
147
- :host([data-collapsed]) {
151
+ .harness-card {
152
+ max-width: 100%;
153
+ margin-inline: auto;
154
+ container-type: inline-size;
155
+ transition: max-width var(--dees-transition-default) var(--dees-ease-standard);
156
+ }
157
+
158
+ :host([data-collapsed]) .harness-card {
148
159
  max-width: var(--dees-harness-collapsed-tool-width, 100%);
149
160
  }
150
161
 
@@ -297,7 +308,31 @@ export class DeesHarnessToolCard extends DeesElement {
297
308
  font-size: 12px;
298
309
  }
299
310
 
300
- /* Stands in for the body while a finished card is collapsed. */
311
+ /*
312
+ * Stands in for the body while a finished card is collapsed. It opens and closes on the same
313
+ * timing as the body and the width, so the header never steps by a line at the instant of a
314
+ * toggle; the node stays mounted and is hidden from assistive technology while open.
315
+ */
316
+ .summaryDisclosure {
317
+ display: grid;
318
+ grid-template-rows: 1fr;
319
+ min-height: 0;
320
+ opacity: 1;
321
+ transition:
322
+ grid-template-rows var(--dees-transition-default) var(--dees-ease-standard),
323
+ opacity var(--dees-transition-fast) var(--dees-ease-standard);
324
+ }
325
+
326
+ .summaryDisclosure[aria-hidden='true'] {
327
+ grid-template-rows: 0fr;
328
+ opacity: 0;
329
+ }
330
+
331
+ .summaryDisclosureInner {
332
+ min-height: 0;
333
+ overflow: hidden;
334
+ }
335
+
301
336
  .resultSummary {
302
337
  display: block;
303
338
  margin-top: 2px;
@@ -690,7 +725,10 @@ export class DeesHarnessToolCard extends DeesElement {
690
725
  }
691
726
 
692
727
  @media (prefers-reduced-motion: reduce) {
693
- .bodyDisclosure {
728
+ /* The disclosure moves as one piece, so all three parts of it stop together. */
729
+ .bodyDisclosure,
730
+ .harness-card,
731
+ .summaryDisclosure {
694
732
  transition: none;
695
733
  }
696
734
 
@@ -741,9 +779,13 @@ export class DeesHarnessToolCard extends DeesElement {
741
779
  return collapseWhenFinished ?? false;
742
780
  }
743
781
 
744
- /** Outcome line shown only while collapsed; the subtitle already carries the request. */
745
- private get collapsedSummary(): string {
746
- if (this.isOpen || !this.descriptor.summary) return '';
782
+ /**
783
+ * Outcome line that stands in for the body while collapsed; the subtitle already carries the
784
+ * request. Derived from the settled call alone, not from the disclosure state, so the text stays
785
+ * put while the line animates open or closed instead of appearing and vanishing mid-transition.
786
+ */
787
+ private get resultSummary(): string {
788
+ if (!this.descriptor.summary) return '';
747
789
  if (this.call.status !== 'completed' && this.call.status !== 'stopped') return '';
748
790
  return this.descriptor.summary(this.enrichedCall).trim();
749
791
  }
@@ -780,7 +822,7 @@ export class DeesHarnessToolCard extends DeesElement {
780
822
  const statusTone = effectiveStatus === 'completed' ? 'success'
781
823
  : effectiveStatus === 'stopped' ? 'warning' : effectiveStatus;
782
824
  const duration = harnessFormatDuration(call.startedAt, call.finishedAt);
783
- const collapsedSummary = this.collapsedSummary;
825
+ const resultSummary = this.resultSummary;
784
826
  return html`
785
827
  <div class="harness-card status-${effectiveStatus} ${descriptor.destructive ? 'destructive' : ''} ${this.hasSubtaskPreview ? 'subtaskPreviewCard' : ''} ${this.hasSubtaskPreview && open ? 'subtaskPreviewOpen' : ''} ${this.returnFlash ? 'returnFlash' : ''} ${this.outcomeScanTone ? `outcomeScan outcomeScan-${this.outcomeScanTone}` : ''}"
786
828
  @mouseenter=${this.cancelTerminalTailReturn}
@@ -808,8 +850,17 @@ export class DeesHarnessToolCard extends DeesElement {
808
850
  ${subtitle
809
851
  ? html`<dees-harness-overflow-text class="subtitle" title=${subtitleTooltip}>${subtitle}</dees-harness-overflow-text>`
810
852
  : ''}
811
- ${collapsedSummary
812
- ? html`<dees-harness-overflow-text class="resultSummary" title=${collapsedSummary}>${collapsedSummary}</dees-harness-overflow-text>`
853
+ ${resultSummary
854
+ ? html`
855
+ <span class="summaryDisclosure" aria-hidden=${open ? 'true' : 'false'}>
856
+ <span class="summaryDisclosureInner">
857
+ <dees-harness-overflow-text
858
+ class="resultSummary"
859
+ title=${resultSummary}
860
+ >${resultSummary}</dees-harness-overflow-text>
861
+ </span>
862
+ </span>
863
+ `
813
864
  : ''}
814
865
  </span>
815
866
  <span class="metaColumn">