@design.estate/dees-catalog 6.6.0 → 6.7.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.
- package/dist_bundle/bundle.js +1609 -751
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.js +26 -15
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.d.ts +41 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.js +100 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +846 -40
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +12 -8
- package/dist_ts_web/elements/00group-harness/harness.styles.js +16 -13
- package/dist_ts_web/elements/00group-harness/interfaces.d.ts +56 -0
- package/package.json +2 -2
- package/readme.hints.md +3 -0
- package/readme.md +49 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.ts +25 -14
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.ts +123 -1
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +952 -40
- package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +11 -7
- package/ts_web/elements/00group-harness/harness.styles.ts +15 -12
- package/ts_web/elements/00group-harness/interfaces.ts +67 -0
package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js
CHANGED
|
@@ -276,18 +276,18 @@ let DeesHarnessToolCard = (() => {
|
|
|
276
276
|
|
|
277
277
|
@keyframes harness-card-open-chat-scan {
|
|
278
278
|
0% {
|
|
279
|
-
|
|
279
|
+
transform: translate3d(-60%, 0, 0);
|
|
280
280
|
opacity: 0;
|
|
281
281
|
}
|
|
282
282
|
1% {
|
|
283
283
|
opacity: 0.35;
|
|
284
284
|
}
|
|
285
285
|
20% {
|
|
286
|
-
|
|
286
|
+
transform: translate3d(0, 0, 0);
|
|
287
287
|
opacity: 0.35;
|
|
288
288
|
}
|
|
289
289
|
24%, 100% {
|
|
290
|
-
|
|
290
|
+
transform: translate3d(0, 0, 0);
|
|
291
291
|
opacity: 0;
|
|
292
292
|
}
|
|
293
293
|
}
|
|
@@ -676,7 +676,8 @@ let DeesHarnessToolCard = (() => {
|
|
|
676
676
|
.harness-card.outcomeScan::after {
|
|
677
677
|
content: '';
|
|
678
678
|
position: absolute;
|
|
679
|
-
inset: 0;
|
|
679
|
+
inset: 0 auto 0 0;
|
|
680
|
+
width: 250%;
|
|
680
681
|
pointer-events: none;
|
|
681
682
|
background: linear-gradient(
|
|
682
683
|
105deg,
|
|
@@ -685,7 +686,9 @@ let DeesHarnessToolCard = (() => {
|
|
|
685
686
|
color-mix(in srgb, var(--harness-outcome-scan-color) 14%, transparent) 50%,
|
|
686
687
|
color-mix(in srgb, var(--harness-outcome-scan-color) 3%, transparent) 55%,
|
|
687
688
|
transparent 60%
|
|
688
|
-
)
|
|
689
|
+
);
|
|
690
|
+
transform: translate3d(-60%, 0, 0);
|
|
691
|
+
will-change: transform;
|
|
689
692
|
animation: harness-tool-outcome-scan 0.48s linear 0.08s both;
|
|
690
693
|
}
|
|
691
694
|
|
|
@@ -699,8 +702,8 @@ let DeesHarnessToolCard = (() => {
|
|
|
699
702
|
}
|
|
700
703
|
|
|
701
704
|
@keyframes harness-tool-outcome-scan {
|
|
702
|
-
from {
|
|
703
|
-
to {
|
|
705
|
+
from { transform: translate3d(-60%, 0, 0); }
|
|
706
|
+
to { transform: translate3d(0, 0, 0); }
|
|
704
707
|
}
|
|
705
708
|
|
|
706
709
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -715,6 +718,7 @@ let DeesHarnessToolCard = (() => {
|
|
|
715
718
|
.harness-card.outcomeScan::after {
|
|
716
719
|
animation: none;
|
|
717
720
|
opacity: 0;
|
|
721
|
+
will-change: auto;
|
|
718
722
|
}
|
|
719
723
|
}
|
|
720
724
|
`,
|
|
@@ -1254,4 +1258,4 @@ let DeesHarnessToolCard = (() => {
|
|
|
1254
1258
|
return DeesHarnessToolCard = _classThis;
|
|
1255
1259
|
})();
|
|
1256
1260
|
export { DeesHarnessToolCard };
|
|
1257
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC9kZWVzLWhhcm5lc3MtdG9vbC1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTXRELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsWUFBWSxHQUdiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0YsT0FBTyxFQUNMLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQixlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFLbkcsT0FBTywrREFBK0QsQ0FBQztBQUN2RSxPQUFPLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sdUVBQXVFLENBQUM7QUFDL0UsT0FBTyxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sOENBQThDLENBQUM7QUFRdEQ7Ozs7O0dBS0c7SUFFVSxtQkFBbUI7NEJBRC9C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
|
|
1261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLXRvb2wtY2FyZC9kZWVzLWhhcm5lc3MtdG9vbC1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTXRELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsWUFBWSxHQUdiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0YsT0FBTyxFQUNMLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQixlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFLbkcsT0FBTywrREFBK0QsQ0FBQztBQUN2RSxPQUFPLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sdUVBQXVFLENBQUM7QUFDL0UsT0FBTyxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sOENBQThDLENBQUM7QUFRdEQ7Ozs7O0dBS0c7SUFFVSxtQkFBbUI7NEJBRC9C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
|
|
@@ -23,17 +23,19 @@ export const harnessCardStyles = css `
|
|
|
23
23
|
.harness-card.outcomeScan::before {
|
|
24
24
|
content: '';
|
|
25
25
|
position: absolute;
|
|
26
|
-
inset: 0;
|
|
26
|
+
inset: 0 auto 0 0;
|
|
27
|
+
width: 250%;
|
|
27
28
|
pointer-events: none;
|
|
28
|
-
background:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
background: linear-gradient(
|
|
30
|
+
105deg,
|
|
31
|
+
transparent 40%,
|
|
32
|
+
color-mix(in srgb, var(--dees-color-accent-primary) 6%, transparent) 45%,
|
|
33
|
+
color-mix(in srgb, var(--dees-color-accent-primary) 20%, transparent) 50%,
|
|
34
|
+
color-mix(in srgb, var(--dees-color-accent-primary) 6%, transparent) 55%,
|
|
35
|
+
transparent 60%
|
|
36
|
+
);
|
|
37
|
+
transform: translate3d(-60%, 0, 0);
|
|
38
|
+
will-change: transform;
|
|
37
39
|
animation: harness-card-running-scan 2s linear infinite;
|
|
38
40
|
opacity: 1;
|
|
39
41
|
transition: opacity 0.18s var(--dees-ease-out);
|
|
@@ -52,8 +54,8 @@ export const harnessCardStyles = css `
|
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
@keyframes harness-card-running-scan {
|
|
55
|
-
from {
|
|
56
|
-
to {
|
|
57
|
+
from { transform: translate3d(-60%, 0, 0); }
|
|
58
|
+
to { transform: translate3d(0, 0, 0); }
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -71,6 +73,7 @@ export const harnessCardStyles = css `
|
|
|
71
73
|
animation: none;
|
|
72
74
|
opacity: 0;
|
|
73
75
|
transition: none;
|
|
76
|
+
will-change: auto;
|
|
74
77
|
}
|
|
75
78
|
}
|
|
76
79
|
`;
|
|
@@ -141,4 +144,4 @@ export const harnessMonoStyles = css `
|
|
|
141
144
|
text-decoration: underline;
|
|
142
145
|
}
|
|
143
146
|
`;
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFybmVzcy5zdHlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2hhcm5lc3Muc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQWtCLE1BQU0sNkJBQTZCLENBQUM7QUFFbEU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFjLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBd0U5QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQWMsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FpQzlDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBYyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBZ0M5QyxDQUFDIn0=
|
|
@@ -280,6 +280,62 @@ export interface IHarnessSessionMeta {
|
|
|
280
280
|
/** Set false for pinned, non-sortable entries such as terminals. Defaults to true. */
|
|
281
281
|
draggable?: boolean;
|
|
282
282
|
}
|
|
283
|
+
/** Host-owned metadata for a resource that can be associated with a harness session. */
|
|
284
|
+
export interface IHarnessResourceMeta<TState extends string = string> {
|
|
285
|
+
/** Stable identity used by selection and association records. */
|
|
286
|
+
id: string;
|
|
287
|
+
/** Open resource kind supplied by the host, for example `terminal`, `file`, or `browser`. */
|
|
288
|
+
kind: string;
|
|
289
|
+
title: string;
|
|
290
|
+
/** Optional dees-icon name (e.g. `lucide:FileText`). */
|
|
291
|
+
icon?: string;
|
|
292
|
+
preview?: string;
|
|
293
|
+
createdAt?: number;
|
|
294
|
+
updatedAt?: number;
|
|
295
|
+
/** Optional host-defined display state. */
|
|
296
|
+
state?: TState;
|
|
297
|
+
}
|
|
298
|
+
/** A controlled zero-or-one session association for one resource. */
|
|
299
|
+
export interface IHarnessResourceAssociation {
|
|
300
|
+
resourceId: string;
|
|
301
|
+
sessionId: string;
|
|
302
|
+
}
|
|
303
|
+
export interface IHarnessResourceEventDetail<TState extends string = string> {
|
|
304
|
+
resource: IHarnessResourceMeta<TState>;
|
|
305
|
+
sessionId: string | null;
|
|
306
|
+
}
|
|
307
|
+
export type THarnessResourceAssociationInteractionSource = 'drop' | 'action' | 'keyboard';
|
|
308
|
+
export type THarnessResourceAssociationRequestDetail<TState extends string = string> = {
|
|
309
|
+
intent: 'attach';
|
|
310
|
+
resource: IHarnessResourceMeta<TState>;
|
|
311
|
+
fromSessionId: null;
|
|
312
|
+
toSessionId: string;
|
|
313
|
+
source: THarnessResourceAssociationInteractionSource;
|
|
314
|
+
} | {
|
|
315
|
+
intent: 'detach';
|
|
316
|
+
resource: IHarnessResourceMeta<TState>;
|
|
317
|
+
fromSessionId: string;
|
|
318
|
+
toSessionId: null;
|
|
319
|
+
source: THarnessResourceAssociationInteractionSource;
|
|
320
|
+
} | {
|
|
321
|
+
intent: 'reassign';
|
|
322
|
+
resource: IHarnessResourceMeta<TState>;
|
|
323
|
+
fromSessionId: string;
|
|
324
|
+
toSessionId: string;
|
|
325
|
+
source: THarnessResourceAssociationInteractionSource;
|
|
326
|
+
};
|
|
327
|
+
export type THarnessResourceContextSource = 'pointer' | 'action' | 'keyboard';
|
|
328
|
+
/** Detail of `harness-resource-context`; the host owns the actual menu. */
|
|
329
|
+
export interface IHarnessResourceContextDetail<TState extends string = string> extends IHarnessResourceEventDetail<TState> {
|
|
330
|
+
clientX: number;
|
|
331
|
+
clientY: number;
|
|
332
|
+
source: THarnessResourceContextSource;
|
|
333
|
+
originalEvent: MouseEvent | KeyboardEvent;
|
|
334
|
+
/** Routes a host menu choice through the component's validated controlled request event. */
|
|
335
|
+
requestAssociation: (toSessionId: string | null) => boolean;
|
|
336
|
+
/** Closes the external-menu disclosure state and restores focus to its invoking control. */
|
|
337
|
+
close: () => void;
|
|
338
|
+
}
|
|
283
339
|
/** Detail of `harness-session-context`, fired on right-click of a session item. */
|
|
284
340
|
export interface IHarnessSessionContextDetail {
|
|
285
341
|
session: IHarnessSessionMeta;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-catalog",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.7.1",
|
|
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",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"xterm-addon-fit": "^0.8.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@design.estate/dees-wcctools": "^3.9.
|
|
47
|
+
"@design.estate/dees-wcctools": "^3.9.3",
|
|
48
48
|
"@git.zone/tsbuild": "^4.4.2",
|
|
49
49
|
"@git.zone/tsbundle": "^2.11.4",
|
|
50
50
|
"@git.zone/tstest": "^4.0.0",
|
package/readme.hints.md
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
## Agent Chat Architecture
|
|
7
7
|
|
|
8
|
+
- `DeesHarnessSessionList` resource associations are controlled projections. Resources and associations remain host-owned; component-originated attach, detach, and reassign requests use `requestResourceAssociation()` and reconcile only when fresh `resourceAssociations` arrive.
|
|
9
|
+
- Resource association normalization accepts the first valid record per known resource and ignores incomplete metadata, unknown references, or later duplicate records without mutating inputs. A missing `eligibleSessionIdsByResourceId` entry means no attach/reassign target; existing authoritative associations still render and can detach.
|
|
10
|
+
- Resource pointer dragging is a separate gesture from session grip reordering. It targets an eligible whole session article, never creates a session drop slot, and never emits `harness-session-move`.
|
|
8
11
|
- `DeesHarnessMessageList` owns transcript ordering and responsive tool grouping. Consecutive tools use one generic keyed-grid pipeline partitioned by descriptor layout: compact with compact, subtask with subtask, and full-row tools spanning every column. Never move cards between active and historical owners when status changes.
|
|
9
12
|
- The transcript scroll box is the named inline-size container. Tool columns must respond to its content width so opening the session panel naturally reduces the column count.
|
|
10
13
|
- Group identity is retained through front-window eviction while any card remains. Untouched projected subtasks collapse individually on completion without adding a second grid-level disclosure; other tools keep descriptor or user disclosure state.
|
package/readme.md
CHANGED
|
@@ -1912,6 +1912,55 @@ Searchable, card-based conversation column for sidebars or a `DeesModal` (`harne
|
|
|
1912
1912
|
|
|
1913
1913
|
`IHarnessSessionMeta.state` accepts `normal`, `working`, `finished`, `attention`, or `error`; `working` remains an independent activity signal and does not change card expansion. With `enableGrouping`, sortable cards can move within and between groups. Drag from a card's focusable grip, or use its ArrowUp, ArrowDown, Home, and End keys. Pointer dragging moves a full-card preview, opens a matching drop slot, and animates surrounding cards; `harness-session-move` includes both the compatibility `index` and a stable optional `beforeSessionId` anchor. Set `draggable: false` for pinned entries such as terminals. Pass `ungroupedSessionIds` to control the order outside groups; omitted or unknown entries fall back to recency order.
|
|
1914
1914
|
|
|
1915
|
+
Generic host resources use the exported `IHarnessResourceMeta` and `IHarnessResourceAssociation` contracts. Set `.resources`, `.resourceAssociations`, `.selectedResourceId`, and `.eligibleSessionIdsByResourceId`. Unattached resources render in a labelled **Resources** list; attached resources render as compact persistent child rows inside their exact session article and stay visible while session details are collapsed. Resource metadata is presentation-only: the list never mounts a terminal, browser, file viewer, or other runtime.
|
|
1916
|
+
|
|
1917
|
+
```typescript
|
|
1918
|
+
import type {
|
|
1919
|
+
IHarnessResourceContextDetail,
|
|
1920
|
+
THarnessResourceAssociationRequestDetail,
|
|
1921
|
+
} from '@design.estate/dees-catalog';
|
|
1922
|
+
|
|
1923
|
+
const list = document.querySelector('dees-harness-session-list')!;
|
|
1924
|
+
|
|
1925
|
+
list.resources = [
|
|
1926
|
+
{ id: 'shell:build', kind: 'terminal', title: 'Build shell', icon: 'lucide:Terminal' },
|
|
1927
|
+
{ id: 'file:notes', kind: 'file', title: 'Release notes', preview: '6.7.0 draft' },
|
|
1928
|
+
];
|
|
1929
|
+
list.resourceAssociations = [
|
|
1930
|
+
{ resourceId: 'shell:build', sessionId: 'session-1' },
|
|
1931
|
+
];
|
|
1932
|
+
list.eligibleSessionIdsByResourceId = {
|
|
1933
|
+
'shell:build': ['session-1', 'session-2'],
|
|
1934
|
+
'file:notes': ['session-2'],
|
|
1935
|
+
};
|
|
1936
|
+
|
|
1937
|
+
list.addEventListener('harness-resource-association-request', async (event) => {
|
|
1938
|
+
const resourceEvent = event as CustomEvent<THarnessResourceAssociationRequestDetail>;
|
|
1939
|
+
const { resource, toSessionId } = resourceEvent.detail;
|
|
1940
|
+
await persistAssociation(resource.id, toSessionId);
|
|
1941
|
+
list.resourceAssociations = await loadAssociations();
|
|
1942
|
+
});
|
|
1943
|
+
|
|
1944
|
+
list.addEventListener('harness-resource-context', (event) => {
|
|
1945
|
+
const resourceEvent = event as CustomEvent<IHarnessResourceContextDetail>;
|
|
1946
|
+
openHostMenu({
|
|
1947
|
+
x: resourceEvent.detail.clientX,
|
|
1948
|
+
y: resourceEvent.detail.clientY,
|
|
1949
|
+
attach: (sessionId) => resourceEvent.detail.requestAssociation(sessionId),
|
|
1950
|
+
detach: () => resourceEvent.detail.requestAssociation(null),
|
|
1951
|
+
onClose: resourceEvent.detail.close,
|
|
1952
|
+
});
|
|
1953
|
+
});
|
|
1954
|
+
```
|
|
1955
|
+
|
|
1956
|
+
`harness-resource-select` and `harness-resource-open` carry `{ resource, sessionId }`. `harness-resource-context` adds viewport coordinates, the pointer/Actions/keyboard source, the original event, `requestAssociation(toSessionId)`, and `close()` for focus restoration. The visible Actions button has menu disclosure semantics; native `ContextMenu` and `Shift+F10` invoke the same host-owned path. The component does not require `DeesContextmenu` and does not own menu choices.
|
|
1957
|
+
|
|
1958
|
+
All component-originated association request paths converge on the public `requestResourceAssociation(resourceId, toSessionId, source?)` method. A valid change emits one bubbling/composed `harness-resource-association-request` discriminated by `intent: 'attach' | 'detach' | 'reassign'` and carrying `resource`, `fromSessionId`, `toSessionId`, and `source: 'drop' | 'action' | 'keyboard'`. The method returns `false` and emits nothing for unknown resources/sessions, ineligible targets, detach from an unattached resource, or the current target. It never mutates resources, associations, selection, session groups, or session order.
|
|
1959
|
+
|
|
1960
|
+
Association projection is deterministic and non-destructive: resource records without a non-empty ID, kind, or title, unknown resource/session references, and later duplicate records for a resource are ignored; the first valid association wins. Duplicate resource metadata IDs likewise use the first resource. Missing eligibility entries mean no eligible attach/reassign target. Eligibility does not hide an existing authoritative association, which remains visible and detachable. Requested changes are announced separately from completion; completion is announced only after the controlled association input reflects the requested target.
|
|
1961
|
+
|
|
1962
|
+
Search covers resource ID, kind, title, and preview. A matching attached resource reveals its parent session and only matching children; a matching session reveals all its resources; matching unattached resources remain in **Resources**. Resources render with zero sessions. Resource grip dragging edge-scrolls the list and targets only eligible whole session cards, including hits on nested card content, while never creating session reorder placeholders or emitting `harness-session-move`. Use the Actions/context path for keyboard and mobile association workflows; coarse-pointer grip and Actions targets are at least 44px.
|
|
1963
|
+
|
|
1915
1964
|
---
|
|
1916
1965
|
|
|
1917
1966
|
### Pre-built Templates
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '6.
|
|
6
|
+
version: '6.7.1',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
}
|
|
@@ -152,35 +152,43 @@ export class DeesHarnessMessage extends DeesElement {
|
|
|
152
152
|
background: transparent;
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
.
|
|
156
|
-
content: '';
|
|
155
|
+
.assistantActivityRail {
|
|
157
156
|
position: absolute;
|
|
158
157
|
inset: 0 auto 0 0;
|
|
159
158
|
width: 1px;
|
|
160
|
-
|
|
159
|
+
overflow: hidden;
|
|
161
160
|
pointer-events: none;
|
|
162
161
|
}
|
|
163
162
|
|
|
164
|
-
.
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
163
|
+
.assistantActivityRail::before {
|
|
164
|
+
content: '';
|
|
165
|
+
position: absolute;
|
|
166
|
+
inset: 0 auto auto 0;
|
|
167
|
+
width: 100%;
|
|
168
|
+
height: 250%;
|
|
169
|
+
background: linear-gradient(
|
|
170
|
+
to bottom,
|
|
171
|
+
transparent 40%,
|
|
172
|
+
color-mix(in srgb, var(--dees-color-accent-primary) 85%, transparent) 50%,
|
|
173
|
+
transparent 60%
|
|
174
|
+
);
|
|
175
|
+
transform: translate3d(0, -60%, 0);
|
|
176
|
+
will-change: transform;
|
|
172
177
|
animation: assistantActivityScan 2s linear infinite;
|
|
173
178
|
}
|
|
174
179
|
|
|
175
180
|
@keyframes assistantActivityScan {
|
|
176
|
-
from {
|
|
177
|
-
to {
|
|
181
|
+
from { transform: translate3d(0, -60%, 0); }
|
|
182
|
+
to { transform: translate3d(0, 0, 0); }
|
|
178
183
|
}
|
|
179
184
|
|
|
180
185
|
@media (prefers-reduced-motion: reduce) {
|
|
181
|
-
.
|
|
186
|
+
.assistantActivityRail::before {
|
|
182
187
|
animation: none;
|
|
183
188
|
background: color-mix(in srgb, var(--dees-color-accent-primary) 65%, transparent);
|
|
189
|
+
transform: none;
|
|
190
|
+
height: 100%;
|
|
191
|
+
will-change: auto;
|
|
184
192
|
}
|
|
185
193
|
}
|
|
186
194
|
|
|
@@ -444,6 +452,9 @@ export class DeesHarnessMessage extends DeesElement {
|
|
|
444
452
|
const roleClass = `role-${message.role}`;
|
|
445
453
|
return html`
|
|
446
454
|
<div class="message ${roleClass} ${message.streaming ? 'streaming' : ''} ${message.error ? 'has-error' : ''}">
|
|
455
|
+
${message.role === 'assistant' && message.streaming
|
|
456
|
+
? html`<span class="assistantActivityRail" aria-hidden="true"></span>`
|
|
457
|
+
: ''}
|
|
447
458
|
${this.showRole || this.showTimestamp || message.model
|
|
448
459
|
? html`
|
|
449
460
|
<div class="roleRow">
|
package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { html } from '@design.estate/dees-element';
|
|
2
2
|
import type {
|
|
3
|
+
IHarnessResourceAssociation,
|
|
4
|
+
IHarnessResourceContextDetail,
|
|
5
|
+
IHarnessResourceEventDetail,
|
|
6
|
+
IHarnessResourceMeta,
|
|
3
7
|
IHarnessSessionGroup,
|
|
4
8
|
IHarnessSessionMeta,
|
|
5
9
|
IHarnessSessionMoveDetail,
|
|
10
|
+
THarnessResourceAssociationRequestDetail,
|
|
6
11
|
} from '../interfaces.js';
|
|
7
12
|
|
|
8
13
|
const demoSessions: IHarnessSessionMeta[] = Array.from({ length: 24 }, (_, index) => ({
|
|
@@ -28,8 +33,48 @@ const demoGroups: IHarnessSessionGroup[] = [
|
|
|
28
33
|
{ id: 'review', name: 'Review', sessionIds: ['session-3', 'session-4'] },
|
|
29
34
|
];
|
|
30
35
|
|
|
36
|
+
const demoResources: IHarnessResourceMeta[] = [
|
|
37
|
+
{
|
|
38
|
+
id: 'terminal:build',
|
|
39
|
+
kind: 'terminal',
|
|
40
|
+
title: 'Build shell',
|
|
41
|
+
icon: 'lucide:Terminal',
|
|
42
|
+
preview: 'pnpm run build',
|
|
43
|
+
updatedAt: Date.now() - 90_000,
|
|
44
|
+
state: 'ready',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: 'file:release-notes',
|
|
48
|
+
kind: 'file',
|
|
49
|
+
title: 'Release notes',
|
|
50
|
+
icon: 'lucide:FileText',
|
|
51
|
+
preview: '6.7.0 controlled resource draft',
|
|
52
|
+
updatedAt: Date.now() - 180_000,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: 'browser:preview',
|
|
56
|
+
kind: 'browser',
|
|
57
|
+
title: 'Documentation preview',
|
|
58
|
+
icon: 'lucide:Globe',
|
|
59
|
+
preview: 'localhost:3000',
|
|
60
|
+
updatedAt: Date.now() - 240_000,
|
|
61
|
+
},
|
|
62
|
+
];
|
|
63
|
+
|
|
64
|
+
const demoResourceAssociations: IHarnessResourceAssociation[] = [
|
|
65
|
+
{ resourceId: 'terminal:build', sessionId: 'session-0' },
|
|
66
|
+
{ resourceId: 'file:release-notes', sessionId: 'session-0' },
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const demoResourceEligibleSessionIds = Object.fromEntries(
|
|
70
|
+
demoResources.map((resource) => [resource.id, ['session-0', 'session-1', 'session-2']]),
|
|
71
|
+
);
|
|
72
|
+
|
|
31
73
|
type TDemoSessionList = HTMLElement & {
|
|
32
74
|
groups: IHarnessSessionGroup[];
|
|
75
|
+
resources: IHarnessResourceMeta[];
|
|
76
|
+
resourceAssociations: IHarnessResourceAssociation[];
|
|
77
|
+
selectedResourceId: string;
|
|
33
78
|
selectedSessionId: string;
|
|
34
79
|
ungroupedSessionIds: string[];
|
|
35
80
|
};
|
|
@@ -57,6 +102,72 @@ const handleSessionMove = (event: CustomEvent<IHarnessSessionMoveDetail>): void
|
|
|
57
102
|
list.ungroupedSessionIds = ungroupedSessionIds;
|
|
58
103
|
};
|
|
59
104
|
|
|
105
|
+
const handleResourceAssociation = (
|
|
106
|
+
event: CustomEvent<THarnessResourceAssociationRequestDetail>,
|
|
107
|
+
): void => {
|
|
108
|
+
const list = event.currentTarget as TDemoSessionList;
|
|
109
|
+
const next = list.resourceAssociations.filter(
|
|
110
|
+
(association) => association.resourceId !== event.detail.resource.id,
|
|
111
|
+
);
|
|
112
|
+
if (event.detail.toSessionId) {
|
|
113
|
+
next.push({
|
|
114
|
+
resourceId: event.detail.resource.id,
|
|
115
|
+
sessionId: event.detail.toSessionId,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
list.resourceAssociations = next;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
const handleResourceContext = async (
|
|
122
|
+
event: CustomEvent<IHarnessResourceContextDetail>,
|
|
123
|
+
): Promise<void> => {
|
|
124
|
+
const list = event.currentTarget as TDemoSessionList;
|
|
125
|
+
const { DeesContextmenu } = await import('../../00group-overlay/dees-contextmenu/dees-contextmenu.js');
|
|
126
|
+
const currentSessionId = event.detail.sessionId;
|
|
127
|
+
const eligibleSessionIds = ['session-0', 'session-1', 'session-2'];
|
|
128
|
+
const menu = await DeesContextmenu.openContextMenuWithOptions(
|
|
129
|
+
new MouseEvent('contextmenu', {
|
|
130
|
+
clientX: event.detail.clientX,
|
|
131
|
+
clientY: event.detail.clientY,
|
|
132
|
+
}),
|
|
133
|
+
[
|
|
134
|
+
...eligibleSessionIds
|
|
135
|
+
.filter((sessionId) => sessionId !== currentSessionId)
|
|
136
|
+
.map((sessionId) => ({
|
|
137
|
+
name: `${currentSessionId ? 'Reassign' : 'Attach'} to ${
|
|
138
|
+
demoSessions.find((session) => session.id === sessionId)?.title
|
|
139
|
+
}`,
|
|
140
|
+
iconName: 'lucide:Link',
|
|
141
|
+
action: async () => {
|
|
142
|
+
event.detail.requestAssociation(sessionId);
|
|
143
|
+
event.detail.close();
|
|
144
|
+
},
|
|
145
|
+
})),
|
|
146
|
+
...(currentSessionId
|
|
147
|
+
? [{
|
|
148
|
+
name: 'Detach',
|
|
149
|
+
iconName: 'lucide:Unlink',
|
|
150
|
+
action: async () => {
|
|
151
|
+
event.detail.requestAssociation(null);
|
|
152
|
+
event.detail.close();
|
|
153
|
+
},
|
|
154
|
+
}]
|
|
155
|
+
: []),
|
|
156
|
+
],
|
|
157
|
+
);
|
|
158
|
+
if (!menu) {
|
|
159
|
+
event.detail.close();
|
|
160
|
+
} else {
|
|
161
|
+
const observer = new MutationObserver(() => {
|
|
162
|
+
if (menu.isConnected) return;
|
|
163
|
+
observer.disconnect();
|
|
164
|
+
event.detail.close();
|
|
165
|
+
});
|
|
166
|
+
observer.observe(document.body, { childList: true });
|
|
167
|
+
}
|
|
168
|
+
list.selectedResourceId = event.detail.resource.id;
|
|
169
|
+
};
|
|
170
|
+
|
|
60
171
|
const openModal = async () => {
|
|
61
172
|
const { DeesModal } = await import('../../00group-overlay/dees-modal/dees-modal.js');
|
|
62
173
|
const content = document.createElement('dees-harness-session-list');
|
|
@@ -95,15 +206,26 @@ export const demoFunc = () => html`
|
|
|
95
206
|
</style>
|
|
96
207
|
<div class="sessionDemo">
|
|
97
208
|
<dees-button @clicked=${openModal}>Open in a DeesModal</dees-button>
|
|
98
|
-
<div class="demoHint">
|
|
209
|
+
<div class="demoHint">
|
|
210
|
+
Use a conversation grip to reorder sessions. Use a resource grip to associate it with a
|
|
211
|
+
session, or open Actions with click, ContextMenu, or Shift+F10 for attach, reassign, and detach.
|
|
212
|
+
</div>
|
|
99
213
|
<dees-harness-session-list
|
|
100
214
|
.sessions=${demoSessions}
|
|
101
215
|
.groups=${demoGroups}
|
|
102
216
|
.ungroupedSessionIds=${demoSessions.slice(5).map((session) => session.id)}
|
|
217
|
+
.resources=${demoResources}
|
|
218
|
+
.resourceAssociations=${demoResourceAssociations}
|
|
219
|
+
.eligibleSessionIdsByResourceId=${demoResourceEligibleSessionIds}
|
|
103
220
|
.enableGrouping=${true}
|
|
104
221
|
selectedSessionId="session-2"
|
|
105
222
|
@harness-session-select=${handleSessionSelect}
|
|
106
223
|
@harness-session-move=${handleSessionMove}
|
|
224
|
+
@harness-resource-select=${(event: CustomEvent<IHarnessResourceEventDetail>) => {
|
|
225
|
+
(event.currentTarget as TDemoSessionList).selectedResourceId = event.detail.resource.id;
|
|
226
|
+
}}
|
|
227
|
+
@harness-resource-context=${handleResourceContext}
|
|
228
|
+
@harness-resource-association-request=${handleResourceAssociation}
|
|
107
229
|
></dees-harness-session-list>
|
|
108
230
|
</div>
|
|
109
231
|
`;
|