@design.estate/dees-catalog 6.7.0 → 6.8.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 (34) hide show
  1. package/dist_bundle/bundle.js +1153 -193
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.d.ts +2 -1
  4. package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.js +57 -17
  5. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.d.ts +92 -6
  6. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.js +921 -49
  7. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.d.ts +5 -1
  8. package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.js +42 -7
  9. package/dist_ts_web/elements/00group-harness/dees-harness-question-card/dees-harness-question-card.d.ts +6 -1
  10. package/dist_ts_web/elements/00group-harness/dees-harness-question-card/dees-harness-question-card.js +53 -14
  11. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.d.ts +2 -1
  12. package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.js +13 -3
  13. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +31 -13
  14. package/dist_ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.js +9 -3
  15. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.d.ts +6 -1
  16. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +135 -13
  17. package/dist_ts_web/elements/00group-harness/harness.styles.js +16 -13
  18. package/dist_ts_web/elements/00group-harness/interfaces.d.ts +30 -0
  19. package/dist_ts_web/elements/00group-harness/toolregistry.d.ts +2 -0
  20. package/dist_ts_web/elements/00group-harness/toolregistry.js +7 -1
  21. package/package.json +2 -2
  22. package/readme.md +4 -2
  23. package/ts_web/00_commitinfo_data.ts +1 -1
  24. package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.ts +53 -15
  25. package/ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.ts +943 -51
  26. package/ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.ts +37 -8
  27. package/ts_web/elements/00group-harness/dees-harness-question-card/dees-harness-question-card.ts +40 -12
  28. package/ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.ts +6 -2
  29. package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +30 -12
  30. package/ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.ts +8 -2
  31. package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +119 -11
  32. package/ts_web/elements/00group-harness/harness.styles.ts +15 -12
  33. package/ts_web/elements/00group-harness/interfaces.ts +34 -0
  34. package/ts_web/elements/00group-harness/toolregistry.ts +7 -0
@@ -24,17 +24,19 @@ export const harnessCardStyles: CSSResult = css`
24
24
  .harness-card.outcomeScan::before {
25
25
  content: '';
26
26
  position: absolute;
27
- inset: 0;
27
+ inset: 0 auto 0 0;
28
+ width: 250%;
28
29
  pointer-events: none;
29
- background:
30
- linear-gradient(
31
- 105deg,
32
- transparent 40%,
33
- color-mix(in srgb, var(--dees-color-accent-primary) 6%, transparent) 45%,
34
- color-mix(in srgb, var(--dees-color-accent-primary) 20%, transparent) 50%,
35
- color-mix(in srgb, var(--dees-color-accent-primary) 6%, transparent) 55%,
36
- transparent 60%
37
- ) 100% 0 / 250% 100% no-repeat;
30
+ background: linear-gradient(
31
+ 105deg,
32
+ transparent 40%,
33
+ color-mix(in srgb, var(--dees-color-accent-primary) 6%, transparent) 45%,
34
+ color-mix(in srgb, var(--dees-color-accent-primary) 20%, transparent) 50%,
35
+ color-mix(in srgb, var(--dees-color-accent-primary) 6%, transparent) 55%,
36
+ transparent 60%
37
+ );
38
+ transform: translate3d(-60%, 0, 0);
39
+ will-change: transform;
38
40
  animation: harness-card-running-scan 2s linear infinite;
39
41
  opacity: 1;
40
42
  transition: opacity 0.18s var(--dees-ease-out);
@@ -53,8 +55,8 @@ export const harnessCardStyles: CSSResult = css`
53
55
  }
54
56
 
55
57
  @keyframes harness-card-running-scan {
56
- from { background-position: 100% 0; }
57
- to { background-position: 0 0; }
58
+ from { transform: translate3d(-60%, 0, 0); }
59
+ to { transform: translate3d(0, 0, 0); }
58
60
  }
59
61
 
60
62
  @media (prefers-reduced-motion: reduce) {
@@ -72,6 +74,7 @@ export const harnessCardStyles: CSSResult = css`
72
74
  animation: none;
73
75
  opacity: 0;
74
76
  transition: none;
77
+ will-change: auto;
75
78
  }
76
79
  }
77
80
  `;
@@ -49,6 +49,40 @@ export interface IHarnessTranscriptOrder {
49
49
  partIndex: number;
50
50
  }
51
51
 
52
+ /** View state retained by a virtualized transcript while a message is unmounted. */
53
+ export interface IHarnessMessageViewState {
54
+ reasoningExpanded?: boolean;
55
+ markdownText?: string;
56
+ markdownHtml?: string;
57
+ toolExpanded?: boolean;
58
+ toolOutputExpanded?: boolean;
59
+ toolDiffView?: 'inline' | 'split' | null;
60
+ toolTerminalTailFollowing?: boolean;
61
+ toolTerminalScrollTop?: number;
62
+ subtaskTranscriptSessionId?: string;
63
+ subtaskTranscript?: IHarnessTranscriptViewState;
64
+ }
65
+
66
+ /** Optimistic permission state retained while a virtualized card is unmounted. */
67
+ export interface IHarnessPermissionViewState {
68
+ remember?: boolean;
69
+ answered?: THarnessPermissionResponse;
70
+ }
71
+
72
+ /** In-progress question state retained while a virtualized card is unmounted. */
73
+ export interface IHarnessQuestionViewState {
74
+ answered?: string[];
75
+ selected?: string[];
76
+ customText?: string;
77
+ }
78
+
79
+ /** Complete interaction state for rows that a virtual transcript may evict. */
80
+ export interface IHarnessTranscriptViewState {
81
+ messages: Record<string, IHarnessMessageViewState>;
82
+ permissions: Record<string, IHarnessPermissionViewState>;
83
+ questions: Record<string, IHarnessQuestionViewState>;
84
+ }
85
+
52
86
  /** Session-level token facts. Unknown metrics stay undefined. */
53
87
  export interface IHarnessSessionMetrics {
54
88
  /** Cumulative token usage across the complete session. */
@@ -239,6 +239,11 @@ export class DeesHarnessToolRegistry {
239
239
  private descriptors: IHarnessToolDescriptor[] = [];
240
240
  private byName = new Map<string, IHarnessToolDescriptor>();
241
241
  private byKind = new Map<string, IHarnessToolDescriptor>();
242
+ private registryRevision = 0;
243
+
244
+ public get revision(): number {
245
+ return this.registryRevision;
246
+ }
242
247
 
243
248
  constructor(seedDescriptors: IHarnessToolDescriptor[] = []) {
244
249
  for (const descriptor of seedDescriptors) {
@@ -260,6 +265,7 @@ export class DeesHarnessToolRegistry {
260
265
  for (const name of descriptor.names ?? []) {
261
266
  this.byName.set(name.toLowerCase(), descriptor);
262
267
  }
268
+ this.registryRevision += 1;
263
269
  return this;
264
270
  }
265
271
 
@@ -271,6 +277,7 @@ export class DeesHarnessToolRegistry {
271
277
  for (const [name, mapped] of this.byName) {
272
278
  if (mapped === existing) this.byName.delete(name);
273
279
  }
280
+ this.registryRevision += 1;
274
281
  return this;
275
282
  }
276
283