@design.estate/dees-catalog 10.0.0 → 11.1.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 (26) hide show
  1. package/dist_bundle/bundle.js +914 -780
  2. package/dist_bundle/bundle.js.map +1 -1
  3. package/dist_ts_web/00_commitinfo_data.js +1 -1
  4. package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.js +24 -1
  5. package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.js +13 -1
  6. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.d.ts +62 -48
  7. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.js +97 -57
  8. package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +541 -666
  9. package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +19 -1
  10. package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.d.ts +45 -6
  11. package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.js +184 -27
  12. package/dist_ts_web/elements/00group-harness/interfaces.d.ts +59 -20
  13. package/dist_ts_web/services/DeesServiceLibLoader.d.ts +7 -0
  14. package/dist_ts_web/services/DeesServiceLibLoader.js +45 -22
  15. package/package.json +1 -2
  16. package/readme.md +37 -17
  17. package/ts_web/00_commitinfo_data.ts +1 -1
  18. package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.ts +23 -0
  19. package/ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.ts +12 -0
  20. package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.ts +107 -55
  21. package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +622 -756
  22. package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +18 -0
  23. package/ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.ts +196 -24
  24. package/ts_web/elements/00group-harness/interfaces.ts +63 -19
  25. package/ts_web/services/DeesServiceLibLoader.ts +150 -102
  26. package/.smartconfig.json +0 -86
@@ -50,13 +50,13 @@ const stages = {
50
50
  paused: { state: 'normal', label: 'Paused', description: 'Permission was declined. The requested action did not run.' },
51
51
  };
52
52
  const demoSessions = () => [
53
- { title: 'Fix sitemap cache key', harness: { id: 'codex', name: 'Codex' }, stage: 'approval' },
54
- { title: 'Investigate model rate limits', harness: { id: 'opencode', name: 'OpenCode' }, stage: 'working' },
55
- { title: 'Refactor workbench layout', harness: { id: 'flexharness', name: 'FlexHarness' }, stage: 'feedback' },
56
- { title: 'Add adaptive code diffs', harness: { id: 'codex', name: 'Codex' }, stage: 'finished' },
57
- { title: 'Prepare the catalog release', harness: { id: 'opencode', name: 'OpenCode' }, stage: 'error' },
53
+ { title: 'Fix sitemap cache key', harness: { id: 'codex', name: 'Codex' }, projectLabel: 'storefront', stage: 'approval' },
54
+ { title: 'Investigate model rate limits', harness: { id: 'opencode', name: 'OpenCode' }, projectLabel: 'gateway', stage: 'working' },
55
+ { title: 'Refactor workbench layout', harness: { id: 'flexharness', name: 'FlexHarness' }, projectLabel: 'storefront', stage: 'feedback' },
56
+ { title: 'Add adaptive code diffs', harness: { id: 'codex', name: 'Codex' }, projectLabel: 'catalog', stage: 'finished' },
57
+ { title: 'Prepare the catalog release', harness: { id: 'opencode', name: 'OpenCode' }, projectLabel: 'catalog', stage: 'error' },
58
58
  { title: 'Improve agent onboarding', harness: { id: 'flexharness', name: 'FlexHarness' }, stage: 'idle' },
59
- { title: 'Draft the migration guide', harness: { id: 'codex', name: 'Codex' }, stage: 'starting' },
59
+ { title: 'Draft the migration guide', harness: { id: 'codex', name: 'Codex' }, projectLabel: 'gateway', stage: 'starting' },
60
60
  ].map((session, index) => ({
61
61
  ...session,
62
62
  id: `session-${index}`,
@@ -66,10 +66,32 @@ const demoSessions = () => [
66
66
  statusLabel: stages[session.stage].label,
67
67
  preview: stages[session.stage].description,
68
68
  }));
69
+ // Resources are peers of sessions: `terminal:build` sits in Workspace while it
70
+ // stays attached to a session in Recent.
69
71
  const demoGroups = [
70
- { id: 'active', name: 'Workspace', sessionIds: ['session-0', 'session-1', 'session-2', 'session-6'] },
71
- { id: 'review', name: 'Recent', sessionIds: ['session-3', 'session-5', 'session-4'] },
72
+ {
73
+ id: 'active',
74
+ name: 'Workspace',
75
+ itemIds: [
76
+ { kind: 'session', id: 'session-0' },
77
+ { kind: 'resource', id: 'terminal:build' },
78
+ { kind: 'session', id: 'session-1' },
79
+ { kind: 'session', id: 'session-2' },
80
+ { kind: 'session', id: 'session-6' },
81
+ ],
82
+ },
83
+ {
84
+ id: 'review',
85
+ name: 'Recent',
86
+ itemIds: [
87
+ { kind: 'session', id: 'session-3' },
88
+ { kind: 'session', id: 'session-5' },
89
+ { kind: 'session', id: 'session-4' },
90
+ ],
91
+ },
72
92
  ];
93
+ const cloneGroups = (groupsArg) => groupsArg.map((group) => ({ ...group, itemIds: group.itemIds.map((ref) => ({ ...ref })) }));
94
+ const sameRef = (leftArg, rightArg) => leftArg.kind === rightArg.kind && leftArg.id === rightArg.id;
73
95
  const demoResources = [
74
96
  {
75
97
  id: 'terminal:build',
@@ -77,6 +99,7 @@ const demoResources = [
77
99
  title: 'Build shell',
78
100
  icon: 'lucide:Terminal',
79
101
  preview: 'pnpm run build',
102
+ projectLabel: 'storefront',
80
103
  updatedAt: Date.now() - 90_000,
81
104
  state: 'ready',
82
105
  },
@@ -86,6 +109,7 @@ const demoResources = [
86
109
  title: 'Release notes',
87
110
  icon: 'lucide:FileText',
88
111
  preview: 'Catalog migration notes',
112
+ projectLabel: 'catalog',
89
113
  updatedAt: Date.now() - 180_000,
90
114
  },
91
115
  {
@@ -97,35 +121,47 @@ const demoResources = [
97
121
  updatedAt: Date.now() - 240_000,
98
122
  },
99
123
  ];
124
+ // An association targets any other item: a session, or a resource such as a terminal.
100
125
  const demoResourceAssociations = [
101
- { resourceId: 'terminal:build', sessionId: 'session-4' },
102
- { resourceId: 'file:release-notes', sessionId: 'session-4' },
126
+ { resourceId: 'terminal:build', target: { kind: 'session', id: 'session-4' } },
127
+ { resourceId: 'file:release-notes', target: { kind: 'resource', id: 'terminal:build' } },
128
+ ];
129
+ const demoEligibleSessionTargets = [
130
+ { kind: 'session', id: 'session-0' },
131
+ { kind: 'session', id: 'session-1' },
132
+ { kind: 'session', id: 'session-2' },
133
+ { kind: 'session', id: 'session-4' },
103
134
  ];
104
- const demoResourceEligibleSessionIds = Object.fromEntries(demoResources.map((resource) => [resource.id, ['session-0', 'session-1', 'session-2', 'session-4']]));
135
+ const demoResourceEligibleTargets = Object.fromEntries(demoResources.map((resource) => [
136
+ resource.id,
137
+ resource.kind === 'terminal'
138
+ ? demoEligibleSessionTargets
139
+ : [...demoEligibleSessionTargets, { kind: 'resource', id: 'terminal:build' }],
140
+ ]));
105
141
  const handleSessionSelect = (event) => {
106
142
  const list = event.currentTarget;
107
143
  list.selectedSessionId = event.detail.session.id;
108
144
  };
109
- const handleSessionMove = (event) => {
145
+ const handleItemMove = (event) => {
110
146
  const list = event.currentTarget;
111
- applySessionMove(list, event.detail);
147
+ applyItemMove(list, event.detail);
112
148
  };
113
- const applySessionMove = (list, detail) => {
114
- const { sessionId, groupId, beforeSessionId } = detail;
149
+ const applyItemMove = (list, moveArg) => {
150
+ const { item, toGroupId, beforeItem } = moveArg;
115
151
  const groups = list.groups.map((group) => ({
116
152
  ...group,
117
- sessionIds: group.sessionIds.filter((id) => id !== sessionId),
153
+ itemIds: group.itemIds.filter((ref) => !sameRef(ref, item)),
118
154
  }));
119
- const ungroupedSessionIds = list.ungroupedSessionIds.filter((id) => id !== sessionId);
120
- const targetIds = groupId === null
121
- ? ungroupedSessionIds
122
- : groups.find((group) => group.id === groupId)?.sessionIds;
155
+ const ungroupedItemIds = list.ungroupedItemIds.filter((ref) => !sameRef(ref, item));
156
+ const targetIds = toGroupId === null
157
+ ? ungroupedItemIds
158
+ : groups.find((group) => group.id === toGroupId)?.itemIds;
123
159
  if (!targetIds)
124
160
  return;
125
- const anchorIndex = beforeSessionId ? targetIds.indexOf(beforeSessionId) : -1;
126
- targetIds.splice(anchorIndex >= 0 ? anchorIndex : targetIds.length, 0, sessionId);
161
+ const anchorIndex = beforeItem ? targetIds.findIndex((ref) => sameRef(ref, beforeItem)) : -1;
162
+ targetIds.splice(anchorIndex >= 0 ? anchorIndex : targetIds.length, 0, { ...item });
127
163
  list.groups = groups;
128
- list.ungroupedSessionIds = ungroupedSessionIds;
164
+ list.ungroupedItemIds = ungroupedItemIds;
129
165
  };
130
166
  const handleSessionOpen = (event) => {
131
167
  const list = event.currentTarget;
@@ -136,7 +172,8 @@ const handleSessionContext = async (event, onChange = () => { }) => {
136
172
  const list = event.currentTarget;
137
173
  const { session, originalEvent } = event.detail;
138
174
  const invokingControl = originalEvent.composedPath().find((target) => target instanceof HTMLButtonElement);
139
- const currentGroup = list.groups.find((group) => group.sessionIds.includes(session.id));
175
+ const sessionRef = { kind: 'session', id: session.id };
176
+ const currentGroup = list.groups.find((group) => group.itemIds.some((ref) => sameRef(ref, sessionRef)));
140
177
  // Capture dialog ownership before event dispatch ends: no await before opening.
141
178
  const menu = await DeesContextmenu.openContextMenuWithOptions(originalEvent, [
142
179
  {
@@ -154,7 +191,7 @@ const handleSessionContext = async (event, onChange = () => { }) => {
154
191
  ...list.groups.filter((group) => group.id !== currentGroup?.id).map((group) => ({
155
192
  name: `Move to ${group.name}`, iconName: 'lucide:FolderInput',
156
193
  action: async () => {
157
- applySessionMove(list, { sessionId: session.id, groupId: group.id, index: group.sessionIds.length });
194
+ applyItemMove(list, { item: sessionRef, toGroupId: group.id, beforeItem: null });
158
195
  onChange();
159
196
  showDemoResult(list, `Moved “${session.title}” to ${group.name}.`);
160
197
  },
@@ -162,7 +199,7 @@ const handleSessionContext = async (event, onChange = () => { }) => {
162
199
  ...(currentGroup ? [{
163
200
  name: 'Move to Ungrouped', iconName: 'lucide:FolderInput',
164
201
  action: async () => {
165
- applySessionMove(list, { sessionId: session.id, groupId: null, index: list.ungroupedSessionIds.length });
202
+ applyItemMove(list, { item: sessionRef, toGroupId: null, beforeItem: null });
166
203
  onChange();
167
204
  showDemoResult(list, `Moved “${session.title}” to Ungrouped.`);
168
205
  },
@@ -180,33 +217,36 @@ const handleSessionContext = async (event, onChange = () => { }) => {
180
217
  const handleResourceAssociation = (event) => {
181
218
  const list = event.currentTarget;
182
219
  const next = list.resourceAssociations.filter((association) => association.resourceId !== event.detail.resource.id);
183
- if (event.detail.toSessionId) {
220
+ if (event.detail.toTarget) {
184
221
  next.push({
185
222
  resourceId: event.detail.resource.id,
186
- sessionId: event.detail.toSessionId,
223
+ target: { ...event.detail.toTarget },
187
224
  });
188
225
  }
189
226
  list.resourceAssociations = next;
190
227
  };
191
228
  const handleResourceContext = async (event) => {
192
229
  const list = event.currentTarget;
193
- const currentSessionId = event.detail.sessionId;
194
- const eligibleSessionIds = list.eligibleSessionIdsByResourceId[event.detail.resource.id] ?? [];
230
+ const currentTarget = event.detail.target;
231
+ const eligibleTargets = list.eligibleTargetsByResourceId[event.detail.resource.id] ?? [];
232
+ const titleFor = (refArg) => (refArg.kind === 'session'
233
+ ? list.sessions.find((session) => session.id === refArg.id)?.title
234
+ : list.resources.find((resource) => resource.id === refArg.id)?.title) ?? refArg.id;
195
235
  const menu = await DeesContextmenu.openContextMenuWithOptions(new MouseEvent('contextmenu', {
196
236
  clientX: event.detail.clientX,
197
237
  clientY: event.detail.clientY,
198
238
  }), [
199
- ...eligibleSessionIds
200
- .filter((sessionId) => sessionId !== currentSessionId)
201
- .map((sessionId) => ({
202
- name: `${currentSessionId ? 'Reassign' : 'Attach'} to ${list.sessions.find((session) => session.id === sessionId)?.title}`,
239
+ ...eligibleTargets
240
+ .filter((target) => !currentTarget || !sameRef(target, currentTarget))
241
+ .map((target) => ({
242
+ name: `${currentTarget ? 'Reassign' : 'Attach'} to ${titleFor(target)}`,
203
243
  iconName: 'lucide:Link',
204
244
  action: async () => {
205
- event.detail.requestAssociation(sessionId);
245
+ event.detail.requestAssociation(target);
206
246
  event.detail.close();
207
247
  },
208
248
  })),
209
- ...(currentSessionId
249
+ ...(currentTarget
210
250
  ? [{
211
251
  name: 'Detach',
212
252
  iconName: 'lucide:Unlink',
@@ -230,7 +270,7 @@ const openModal = async (sessions, groups) => {
230
270
  const content = document.createElement('dees-harness-session-list');
231
271
  content.sessions = sessions;
232
272
  content.groups = groups;
233
- content.ungroupedSessionIds = [];
273
+ content.ungroupedItemIds = [];
234
274
  content.enableGrouping = true;
235
275
  content.style.height = '420px';
236
276
  content.addEventListener('harness-session-select', handleSessionSelect);
@@ -238,7 +278,7 @@ const openModal = async (sessions, groups) => {
238
278
  content.addEventListener('harness-session-context', (event) => {
239
279
  void handleSessionContext(event);
240
280
  });
241
- content.addEventListener('harness-session-move', handleSessionMove);
281
+ content.addEventListener('harness-item-move', handleItemMove);
242
282
  DeesModal.createAndShow({
243
283
  heading: 'Conversations',
244
284
  content: html `<style>${demoStyles}</style><div class="dees-demo-stack">${content}${demoOutput('Choose a conversation action.')}</div>`,
@@ -260,9 +300,9 @@ let DeesDemoSessionWorkspace = (() => {
260
300
  let _groups_decorators;
261
301
  let _groups_initializers = [];
262
302
  let _groups_extraInitializers = [];
263
- let _ungroupedSessionIds_decorators;
264
- let _ungroupedSessionIds_initializers = [];
265
- let _ungroupedSessionIds_extraInitializers = [];
303
+ let _ungroupedItemIds_decorators;
304
+ let _ungroupedItemIds_initializers = [];
305
+ let _ungroupedItemIds_extraInitializers = [];
266
306
  let _associations_decorators;
267
307
  let _associations_initializers = [];
268
308
  let _associations_extraInitializers = [];
@@ -279,14 +319,14 @@ let DeesDemoSessionWorkspace = (() => {
279
319
  _sessions_decorators = [state()];
280
320
  _selectedSessionId_decorators = [state()];
281
321
  _groups_decorators = [state()];
282
- _ungroupedSessionIds_decorators = [state()];
322
+ _ungroupedItemIds_decorators = [state()];
283
323
  _associations_decorators = [state()];
284
324
  _notice_decorators = [state()];
285
325
  _showDetails_decorators = [state()];
286
326
  __esDecorate(this, null, _sessions_decorators, { kind: "accessor", name: "sessions", static: false, private: false, access: { has: obj => "sessions" in obj, get: obj => obj.sessions, set: (obj, value) => { obj.sessions = value; } }, metadata: _metadata }, _sessions_initializers, _sessions_extraInitializers);
287
327
  __esDecorate(this, null, _selectedSessionId_decorators, { kind: "accessor", name: "selectedSessionId", static: false, private: false, access: { has: obj => "selectedSessionId" in obj, get: obj => obj.selectedSessionId, set: (obj, value) => { obj.selectedSessionId = value; } }, metadata: _metadata }, _selectedSessionId_initializers, _selectedSessionId_extraInitializers);
288
328
  __esDecorate(this, null, _groups_decorators, { kind: "accessor", name: "groups", static: false, private: false, access: { has: obj => "groups" in obj, get: obj => obj.groups, set: (obj, value) => { obj.groups = value; } }, metadata: _metadata }, _groups_initializers, _groups_extraInitializers);
289
- __esDecorate(this, null, _ungroupedSessionIds_decorators, { kind: "accessor", name: "ungroupedSessionIds", static: false, private: false, access: { has: obj => "ungroupedSessionIds" in obj, get: obj => obj.ungroupedSessionIds, set: (obj, value) => { obj.ungroupedSessionIds = value; } }, metadata: _metadata }, _ungroupedSessionIds_initializers, _ungroupedSessionIds_extraInitializers);
329
+ __esDecorate(this, null, _ungroupedItemIds_decorators, { kind: "accessor", name: "ungroupedItemIds", static: false, private: false, access: { has: obj => "ungroupedItemIds" in obj, get: obj => obj.ungroupedItemIds, set: (obj, value) => { obj.ungroupedItemIds = value; } }, metadata: _metadata }, _ungroupedItemIds_initializers, _ungroupedItemIds_extraInitializers);
290
330
  __esDecorate(this, null, _associations_decorators, { kind: "accessor", name: "associations", static: false, private: false, access: { has: obj => "associations" in obj, get: obj => obj.associations, set: (obj, value) => { obj.associations = value; } }, metadata: _metadata }, _associations_initializers, _associations_extraInitializers);
291
331
  __esDecorate(this, null, _notice_decorators, { kind: "accessor", name: "notice", static: false, private: false, access: { has: obj => "notice" in obj, get: obj => obj.notice, set: (obj, value) => { obj.notice = value; } }, metadata: _metadata }, _notice_initializers, _notice_extraInitializers);
292
332
  __esDecorate(this, null, _showDetails_decorators, { kind: "accessor", name: "showDetails", static: false, private: false, access: { has: obj => "showDetails" in obj, get: obj => obj.showDetails, set: (obj, value) => { obj.showDetails = value; } }, metadata: _metadata }, _showDetails_initializers, _showDetails_extraInitializers);
@@ -300,13 +340,13 @@ let DeesDemoSessionWorkspace = (() => {
300
340
  #selectedSessionId_accessor_storage = (__runInitializers(this, _sessions_extraInitializers), __runInitializers(this, _selectedSessionId_initializers, 'session-0'));
301
341
  get selectedSessionId() { return this.#selectedSessionId_accessor_storage; }
302
342
  set selectedSessionId(value) { this.#selectedSessionId_accessor_storage = value; }
303
- #groups_accessor_storage = (__runInitializers(this, _selectedSessionId_extraInitializers), __runInitializers(this, _groups_initializers, demoGroups.map((group) => ({ ...group, sessionIds: [...group.sessionIds] }))));
343
+ #groups_accessor_storage = (__runInitializers(this, _selectedSessionId_extraInitializers), __runInitializers(this, _groups_initializers, cloneGroups(demoGroups)));
304
344
  get groups() { return this.#groups_accessor_storage; }
305
345
  set groups(value) { this.#groups_accessor_storage = value; }
306
- #ungroupedSessionIds_accessor_storage = (__runInitializers(this, _groups_extraInitializers), __runInitializers(this, _ungroupedSessionIds_initializers, []));
307
- get ungroupedSessionIds() { return this.#ungroupedSessionIds_accessor_storage; }
308
- set ungroupedSessionIds(value) { this.#ungroupedSessionIds_accessor_storage = value; }
309
- #associations_accessor_storage = (__runInitializers(this, _ungroupedSessionIds_extraInitializers), __runInitializers(this, _associations_initializers, [...demoResourceAssociations]));
346
+ #ungroupedItemIds_accessor_storage = (__runInitializers(this, _groups_extraInitializers), __runInitializers(this, _ungroupedItemIds_initializers, []));
347
+ get ungroupedItemIds() { return this.#ungroupedItemIds_accessor_storage; }
348
+ set ungroupedItemIds(value) { this.#ungroupedItemIds_accessor_storage = value; }
349
+ #associations_accessor_storage = (__runInitializers(this, _ungroupedItemIds_extraInitializers), __runInitializers(this, _associations_initializers, [...demoResourceAssociations]));
310
350
  get associations() { return this.#associations_accessor_storage; }
311
351
  set associations(value) { this.#associations_accessor_storage = value; }
312
352
  #notice_accessor_storage = (__runInitializers(this, _associations_extraInitializers), __runInitializers(this, _notice_initializers, 'Interactive demo · Changes stay in this example.'));
@@ -366,7 +406,7 @@ let DeesDemoSessionWorkspace = (() => {
366
406
  return;
367
407
  this.selectedSessionId = list.selectedSessionId;
368
408
  this.groups = list.groups;
369
- this.ungroupedSessionIds = list.ungroupedSessionIds;
409
+ this.ungroupedItemIds = list.ungroupedItemIds;
370
410
  this.associations = list.resourceAssociations;
371
411
  }
372
412
  async select(event) {
@@ -394,8 +434,8 @@ let DeesDemoSessionWorkspace = (() => {
394
434
  reset() {
395
435
  this.sessions = demoSessions();
396
436
  this.selectedSessionId = 'session-0';
397
- this.groups = demoGroups.map((group) => ({ ...group, sessionIds: [...group.sessionIds] }));
398
- this.ungroupedSessionIds = [];
437
+ this.groups = cloneGroups(demoGroups);
438
+ this.ungroupedItemIds = [];
399
439
  this.associations = [...demoResourceAssociations];
400
440
  this.notice = 'Demo reset. Choose a session or respond to the approval request.';
401
441
  if (this.list) {
@@ -424,9 +464,9 @@ let DeesDemoSessionWorkspace = (() => {
424
464
  <span class="attentionSummary"><dees-icon icon="lucide:CircleAlert" iconSize="12"></dees-icon>${attentionCount} need attention</span>
425
465
  </div>
426
466
  <dees-harness-session-list
427
- .sessions=${this.sessions} .groups=${this.groups} .ungroupedSessionIds=${this.ungroupedSessionIds}
467
+ .sessions=${this.sessions} .groups=${this.groups} .ungroupedItemIds=${this.ungroupedItemIds}
428
468
  .resources=${demoResources} .resourceAssociations=${this.associations}
429
- .eligibleSessionIdsByResourceId=${demoResourceEligibleSessionIds} .enableGrouping=${true}
469
+ .eligibleTargetsByResourceId=${demoResourceEligibleTargets} .enableGrouping=${true}
430
470
  .selectedSessionId=${this.selectedSessionId}
431
471
  @harness-session-select=${this.select} @harness-session-open=${this.select}
432
472
  @harness-session-context=${(event) => handleSessionContext(event, (opened) => {
@@ -434,12 +474,12 @@ let DeesDemoSessionWorkspace = (() => {
434
474
  if (opened)
435
475
  void this.revealSession();
436
476
  })}
437
- @harness-session-move=${(event) => { handleSessionMove(event); this.syncList(); }}
477
+ @harness-item-move=${(event) => { handleItemMove(event); this.syncList(); }}
438
478
  @harness-group-create-request=${() => {
439
- this.groups = [...this.groups, { id: `group-${this.groups.length}`, name: `Group ${this.groups.length + 1}`, sessionIds: [] }];
479
+ this.groups = [...this.groups, { id: `group-${this.groups.length}`, name: `Group ${this.groups.length + 1}`, itemIds: [] }];
440
480
  if (this.list)
441
481
  this.list.search = '';
442
- this.notice = 'Group created. Drag a session here or use its Actions menu.';
482
+ this.notice = 'Group created. Drag a conversation or resource here, or use its Actions menu.';
443
483
  }}
444
484
  @harness-resource-select=${(event) => {
445
485
  event.currentTarget.selectedResourceId = event.detail.resource.id;
@@ -525,4 +565,4 @@ let DeesDemoSessionWorkspace = (() => {
525
565
  return DeesDemoSessionWorkspace = _classThis;
526
566
  })();
527
567
  export const demoFunc = () => demoApp(html `<dees-demo-session-workspace></dees-demo-session-workspace>`);
528
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXNlc3Npb24tbGlzdC5kZW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLWhhcm5lc3Mtc2Vzc2lvbi1saXN0L2RlZXMtaGFybmVzcy1zZXNzaW9uLWxpc3QuZGVtby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUM3RixPQUFPLDZEQUE2RCxDQUFDO0FBQ3JFLE9BQU8saUVBQWlFLENBQUM7QUFzQnpFLE1BQU0sTUFBTSxHQUFpSDtJQUMzSCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsaUVBQWlFLEVBQUU7SUFDbEksUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSw2REFBNkQsRUFBRTtJQUM3SCxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlFQUFpRSxFQUFFO0lBQy9ILFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFX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
568
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXNlc3Npb24tbGlzdC5kZW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLWhhcm5lc3Mtc2Vzc2lvbi1saXN0L2RlZXMtaGFybmVzcy1zZXNzaW9uLWxpc3QuZGVtby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUM3RixPQUFPLDZEQUE2RCxDQUFDO0FBQ3JFLE9BQU8saUVBQWlFLENBQUM7QUF3QnpFLE1BQU0sTUFBTSxHQUFpSDtJQUMzSCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsaUVBQWlFLEVBQUU7SUFDbEksUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSw2REFBNkQsRUFBRTtJQUM3SCxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlFQUFpRSxFQUFFO0lBQy9ILFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFX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