@design.estate/dees-catalog 4.12.0 → 6.0.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.
- package/dist_bundle/bundle.js +2719 -1261
- package/dist_ts_web/00_commitinfo_data.js +2 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.d.ts +23 -4
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.js +290 -78
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.js +419 -42
- package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.js +44 -3
- package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.js +5 -7
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +5 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.d.ts +54 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.demo.js +56 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.js +870 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-sidebar/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-sidebar/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.d.ts +5 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +87 -3
- package/dist_ts_web/elements/00group-harness/harness.markdown.js +3 -1
- package/dist_ts_web/elements/00group-harness/harness.styles.js +48 -1
- package/dist_ts_web/elements/00group-harness/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/index.js +2 -1
- package/dist_ts_web/elements/00group-harness/interfaces.d.ts +41 -0
- package/package.json +1 -1
- package/readme.md +13 -5
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.ts +277 -79
- package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.ts +367 -36
- package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.ts +43 -2
- package/ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.ts +4 -6
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +4 -1
- package/ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.demo.ts +67 -0
- package/ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.ts +802 -0
- package/ts_web/elements/00group-harness/dees-harness-session-sidebar/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +79 -1
- package/ts_web/elements/00group-harness/harness.markdown.ts +2 -0
- package/ts_web/elements/00group-harness/harness.styles.ts +47 -0
- package/ts_web/elements/00group-harness/index.ts +1 -0
- package/ts_web/elements/00group-harness/interfaces.ts +48 -0
|
@@ -33,13 +33,14 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { demoFunc } from './dees-harness-chat.demo.js';
|
|
36
|
-
import { DeesElement, html, css, customElement, property, cssManager, } from '@design.estate/dees-element';
|
|
36
|
+
import { DeesElement, html, css, customElement, property, state, cssManager, } from '@design.estate/dees-element';
|
|
37
37
|
import { themeDefaultStyles } from '../../00theme.js';
|
|
38
38
|
import { harnessParseTodos } from '../harness.helpers.js';
|
|
39
39
|
import { DeesHarnessToolRegistry } from '../toolregistry.js';
|
|
40
40
|
import { DeesHarnessMessageList } from '../dees-harness-message-list/dees-harness-message-list.js';
|
|
41
41
|
import { DeesHarnessComposer } from '../dees-harness-composer/dees-harness-composer.js';
|
|
42
42
|
import '../dees-harness-todos/dees-harness-todos.js';
|
|
43
|
+
import '../dees-harness-session-sidebar/dees-harness-session-sidebar.js';
|
|
43
44
|
import '../dees-harness-usage/dees-harness-usage.js';
|
|
44
45
|
import '../../00group-button/dees-button/dees-button.js';
|
|
45
46
|
import '../../00group-utility/dees-icon/dees-icon.js';
|
|
@@ -48,8 +49,7 @@ import '../../00group-utility/dees-icon/dees-icon.js';
|
|
|
48
49
|
* pinned permission queue, status line, and composer. Owns no business
|
|
49
50
|
* logic — consumers feed `.messages`/`.permissions`/`.status` (and stream
|
|
50
51
|
* through `applyDelta()`), and listen for the bubbling harness-* events
|
|
51
|
-
* from the children
|
|
52
|
-
* from the toolbar.
|
|
52
|
+
* from the children.
|
|
53
53
|
*/
|
|
54
54
|
let DeesHarnessChat = (() => {
|
|
55
55
|
let _classDecorators = [customElement('dees-harness-chat')];
|
|
@@ -78,6 +78,42 @@ let DeesHarnessChat = (() => {
|
|
|
78
78
|
let _showTodosPanel_decorators;
|
|
79
79
|
let _showTodosPanel_initializers = [];
|
|
80
80
|
let _showTodosPanel_extraInitializers = [];
|
|
81
|
+
let _showSessionSidebar_decorators;
|
|
82
|
+
let _showSessionSidebar_initializers = [];
|
|
83
|
+
let _showSessionSidebar_extraInitializers = [];
|
|
84
|
+
let _sessionMetrics_decorators;
|
|
85
|
+
let _sessionMetrics_initializers = [];
|
|
86
|
+
let _sessionMetrics_extraInitializers = [];
|
|
87
|
+
let _scratchpad_decorators;
|
|
88
|
+
let _scratchpad_initializers = [];
|
|
89
|
+
let _scratchpad_extraInitializers = [];
|
|
90
|
+
let _scratchpadBusy_decorators;
|
|
91
|
+
let _scratchpadBusy_initializers = [];
|
|
92
|
+
let _scratchpadBusy_extraInitializers = [];
|
|
93
|
+
let _scratchpadError_decorators;
|
|
94
|
+
let _scratchpadError_initializers = [];
|
|
95
|
+
let _scratchpadError_extraInitializers = [];
|
|
96
|
+
let _sessionIntelligenceEnabled_decorators;
|
|
97
|
+
let _sessionIntelligenceEnabled_initializers = [];
|
|
98
|
+
let _sessionIntelligenceEnabled_extraInitializers = [];
|
|
99
|
+
let _intelligenceExchanges_decorators;
|
|
100
|
+
let _intelligenceExchanges_initializers = [];
|
|
101
|
+
let _intelligenceExchanges_extraInitializers = [];
|
|
102
|
+
let _intelligenceBusy_decorators;
|
|
103
|
+
let _intelligenceBusy_initializers = [];
|
|
104
|
+
let _intelligenceBusy_extraInitializers = [];
|
|
105
|
+
let _intelligenceError_decorators;
|
|
106
|
+
let _intelligenceError_initializers = [];
|
|
107
|
+
let _intelligenceError_extraInitializers = [];
|
|
108
|
+
let _sessionSidebarOpen_decorators;
|
|
109
|
+
let _sessionSidebarOpen_initializers = [];
|
|
110
|
+
let _sessionSidebarOpen_extraInitializers = [];
|
|
111
|
+
let _desktopSessionSidebarVisible_decorators;
|
|
112
|
+
let _desktopSessionSidebarVisible_initializers = [];
|
|
113
|
+
let _desktopSessionSidebarVisible_extraInitializers = [];
|
|
114
|
+
let _narrowSessionLayout_decorators;
|
|
115
|
+
let _narrowSessionLayout_initializers = [];
|
|
116
|
+
let _narrowSessionLayout_extraInitializers = [];
|
|
81
117
|
let _heading_decorators;
|
|
82
118
|
let _heading_initializers = [];
|
|
83
119
|
let _heading_extraInitializers = [];
|
|
@@ -140,6 +176,18 @@ let DeesHarnessChat = (() => {
|
|
|
140
176
|
_usage_decorators = [property({ attribute: false })];
|
|
141
177
|
_todos_decorators = [property({ attribute: false })];
|
|
142
178
|
_showTodosPanel_decorators = [property({ type: Boolean })];
|
|
179
|
+
_showSessionSidebar_decorators = [property({ type: Boolean })];
|
|
180
|
+
_sessionMetrics_decorators = [property({ attribute: false })];
|
|
181
|
+
_scratchpad_decorators = [property({ attribute: false })];
|
|
182
|
+
_scratchpadBusy_decorators = [property({ type: Boolean })];
|
|
183
|
+
_scratchpadError_decorators = [property()];
|
|
184
|
+
_sessionIntelligenceEnabled_decorators = [property({ type: Boolean })];
|
|
185
|
+
_intelligenceExchanges_decorators = [property({ attribute: false })];
|
|
186
|
+
_intelligenceBusy_decorators = [property({ type: Boolean })];
|
|
187
|
+
_intelligenceError_decorators = [property()];
|
|
188
|
+
_sessionSidebarOpen_decorators = [state()];
|
|
189
|
+
_desktopSessionSidebarVisible_decorators = [state()];
|
|
190
|
+
_narrowSessionLayout_decorators = [state()];
|
|
143
191
|
_heading_decorators = [property()];
|
|
144
192
|
_subheading_decorators = [property()];
|
|
145
193
|
_showToolbar_decorators = [property({ type: Boolean })];
|
|
@@ -164,6 +212,18 @@ let DeesHarnessChat = (() => {
|
|
|
164
212
|
__esDecorate(this, null, _usage_decorators, { kind: "accessor", name: "usage", static: false, private: false, access: { has: obj => "usage" in obj, get: obj => obj.usage, set: (obj, value) => { obj.usage = value; } }, metadata: _metadata }, _usage_initializers, _usage_extraInitializers);
|
|
165
213
|
__esDecorate(this, null, _todos_decorators, { kind: "accessor", name: "todos", static: false, private: false, access: { has: obj => "todos" in obj, get: obj => obj.todos, set: (obj, value) => { obj.todos = value; } }, metadata: _metadata }, _todos_initializers, _todos_extraInitializers);
|
|
166
214
|
__esDecorate(this, null, _showTodosPanel_decorators, { kind: "accessor", name: "showTodosPanel", static: false, private: false, access: { has: obj => "showTodosPanel" in obj, get: obj => obj.showTodosPanel, set: (obj, value) => { obj.showTodosPanel = value; } }, metadata: _metadata }, _showTodosPanel_initializers, _showTodosPanel_extraInitializers);
|
|
215
|
+
__esDecorate(this, null, _showSessionSidebar_decorators, { kind: "accessor", name: "showSessionSidebar", static: false, private: false, access: { has: obj => "showSessionSidebar" in obj, get: obj => obj.showSessionSidebar, set: (obj, value) => { obj.showSessionSidebar = value; } }, metadata: _metadata }, _showSessionSidebar_initializers, _showSessionSidebar_extraInitializers);
|
|
216
|
+
__esDecorate(this, null, _sessionMetrics_decorators, { kind: "accessor", name: "sessionMetrics", static: false, private: false, access: { has: obj => "sessionMetrics" in obj, get: obj => obj.sessionMetrics, set: (obj, value) => { obj.sessionMetrics = value; } }, metadata: _metadata }, _sessionMetrics_initializers, _sessionMetrics_extraInitializers);
|
|
217
|
+
__esDecorate(this, null, _scratchpad_decorators, { kind: "accessor", name: "scratchpad", static: false, private: false, access: { has: obj => "scratchpad" in obj, get: obj => obj.scratchpad, set: (obj, value) => { obj.scratchpad = value; } }, metadata: _metadata }, _scratchpad_initializers, _scratchpad_extraInitializers);
|
|
218
|
+
__esDecorate(this, null, _scratchpadBusy_decorators, { kind: "accessor", name: "scratchpadBusy", static: false, private: false, access: { has: obj => "scratchpadBusy" in obj, get: obj => obj.scratchpadBusy, set: (obj, value) => { obj.scratchpadBusy = value; } }, metadata: _metadata }, _scratchpadBusy_initializers, _scratchpadBusy_extraInitializers);
|
|
219
|
+
__esDecorate(this, null, _scratchpadError_decorators, { kind: "accessor", name: "scratchpadError", static: false, private: false, access: { has: obj => "scratchpadError" in obj, get: obj => obj.scratchpadError, set: (obj, value) => { obj.scratchpadError = value; } }, metadata: _metadata }, _scratchpadError_initializers, _scratchpadError_extraInitializers);
|
|
220
|
+
__esDecorate(this, null, _sessionIntelligenceEnabled_decorators, { kind: "accessor", name: "sessionIntelligenceEnabled", static: false, private: false, access: { has: obj => "sessionIntelligenceEnabled" in obj, get: obj => obj.sessionIntelligenceEnabled, set: (obj, value) => { obj.sessionIntelligenceEnabled = value; } }, metadata: _metadata }, _sessionIntelligenceEnabled_initializers, _sessionIntelligenceEnabled_extraInitializers);
|
|
221
|
+
__esDecorate(this, null, _intelligenceExchanges_decorators, { kind: "accessor", name: "intelligenceExchanges", static: false, private: false, access: { has: obj => "intelligenceExchanges" in obj, get: obj => obj.intelligenceExchanges, set: (obj, value) => { obj.intelligenceExchanges = value; } }, metadata: _metadata }, _intelligenceExchanges_initializers, _intelligenceExchanges_extraInitializers);
|
|
222
|
+
__esDecorate(this, null, _intelligenceBusy_decorators, { kind: "accessor", name: "intelligenceBusy", static: false, private: false, access: { has: obj => "intelligenceBusy" in obj, get: obj => obj.intelligenceBusy, set: (obj, value) => { obj.intelligenceBusy = value; } }, metadata: _metadata }, _intelligenceBusy_initializers, _intelligenceBusy_extraInitializers);
|
|
223
|
+
__esDecorate(this, null, _intelligenceError_decorators, { kind: "accessor", name: "intelligenceError", static: false, private: false, access: { has: obj => "intelligenceError" in obj, get: obj => obj.intelligenceError, set: (obj, value) => { obj.intelligenceError = value; } }, metadata: _metadata }, _intelligenceError_initializers, _intelligenceError_extraInitializers);
|
|
224
|
+
__esDecorate(this, null, _sessionSidebarOpen_decorators, { kind: "accessor", name: "sessionSidebarOpen", static: false, private: false, access: { has: obj => "sessionSidebarOpen" in obj, get: obj => obj.sessionSidebarOpen, set: (obj, value) => { obj.sessionSidebarOpen = value; } }, metadata: _metadata }, _sessionSidebarOpen_initializers, _sessionSidebarOpen_extraInitializers);
|
|
225
|
+
__esDecorate(this, null, _desktopSessionSidebarVisible_decorators, { kind: "accessor", name: "desktopSessionSidebarVisible", static: false, private: false, access: { has: obj => "desktopSessionSidebarVisible" in obj, get: obj => obj.desktopSessionSidebarVisible, set: (obj, value) => { obj.desktopSessionSidebarVisible = value; } }, metadata: _metadata }, _desktopSessionSidebarVisible_initializers, _desktopSessionSidebarVisible_extraInitializers);
|
|
226
|
+
__esDecorate(this, null, _narrowSessionLayout_decorators, { kind: "accessor", name: "narrowSessionLayout", static: false, private: false, access: { has: obj => "narrowSessionLayout" in obj, get: obj => obj.narrowSessionLayout, set: (obj, value) => { obj.narrowSessionLayout = value; } }, metadata: _metadata }, _narrowSessionLayout_initializers, _narrowSessionLayout_extraInitializers);
|
|
167
227
|
__esDecorate(this, null, _heading_decorators, { kind: "accessor", name: "heading", static: false, private: false, access: { has: obj => "heading" in obj, get: obj => obj.heading, set: (obj, value) => { obj.heading = value; } }, metadata: _metadata }, _heading_initializers, _heading_extraInitializers);
|
|
168
228
|
__esDecorate(this, null, _subheading_decorators, { kind: "accessor", name: "subheading", static: false, private: false, access: { has: obj => "subheading" in obj, get: obj => obj.subheading, set: (obj, value) => { obj.subheading = value; } }, metadata: _metadata }, _subheading_initializers, _subheading_extraInitializers);
|
|
169
229
|
__esDecorate(this, null, _showToolbar_decorators, { kind: "accessor", name: "showToolbar", static: false, private: false, access: { has: obj => "showToolbar" in obj, get: obj => obj.showToolbar, set: (obj, value) => { obj.showToolbar = value; } }, metadata: _metadata }, _showToolbar_initializers, _showToolbar_extraInitializers);
|
|
@@ -214,7 +274,44 @@ let DeesHarnessChat = (() => {
|
|
|
214
274
|
#showTodosPanel_accessor_storage = (__runInitializers(this, _todos_extraInitializers), __runInitializers(this, _showTodosPanel_initializers, true));
|
|
215
275
|
get showTodosPanel() { return this.#showTodosPanel_accessor_storage; }
|
|
216
276
|
set showTodosPanel(value) { this.#showTodosPanel_accessor_storage = value; }
|
|
217
|
-
#
|
|
277
|
+
#showSessionSidebar_accessor_storage = (__runInitializers(this, _showTodosPanel_extraInitializers), __runInitializers(this, _showSessionSidebar_initializers, true));
|
|
278
|
+
get showSessionSidebar() { return this.#showSessionSidebar_accessor_storage; }
|
|
279
|
+
set showSessionSidebar(value) { this.#showSessionSidebar_accessor_storage = value; }
|
|
280
|
+
#sessionMetrics_accessor_storage = (__runInitializers(this, _showSessionSidebar_extraInitializers), __runInitializers(this, _sessionMetrics_initializers, {}));
|
|
281
|
+
get sessionMetrics() { return this.#sessionMetrics_accessor_storage; }
|
|
282
|
+
set sessionMetrics(value) { this.#sessionMetrics_accessor_storage = value; }
|
|
283
|
+
#scratchpad_accessor_storage = (__runInitializers(this, _sessionMetrics_extraInitializers), __runInitializers(this, _scratchpad_initializers, undefined));
|
|
284
|
+
get scratchpad() { return this.#scratchpad_accessor_storage; }
|
|
285
|
+
set scratchpad(value) { this.#scratchpad_accessor_storage = value; }
|
|
286
|
+
#scratchpadBusy_accessor_storage = (__runInitializers(this, _scratchpad_extraInitializers), __runInitializers(this, _scratchpadBusy_initializers, false));
|
|
287
|
+
get scratchpadBusy() { return this.#scratchpadBusy_accessor_storage; }
|
|
288
|
+
set scratchpadBusy(value) { this.#scratchpadBusy_accessor_storage = value; }
|
|
289
|
+
#scratchpadError_accessor_storage = (__runInitializers(this, _scratchpadBusy_extraInitializers), __runInitializers(this, _scratchpadError_initializers, ''));
|
|
290
|
+
get scratchpadError() { return this.#scratchpadError_accessor_storage; }
|
|
291
|
+
set scratchpadError(value) { this.#scratchpadError_accessor_storage = value; }
|
|
292
|
+
#sessionIntelligenceEnabled_accessor_storage = (__runInitializers(this, _scratchpadError_extraInitializers), __runInitializers(this, _sessionIntelligenceEnabled_initializers, false));
|
|
293
|
+
get sessionIntelligenceEnabled() { return this.#sessionIntelligenceEnabled_accessor_storage; }
|
|
294
|
+
set sessionIntelligenceEnabled(value) { this.#sessionIntelligenceEnabled_accessor_storage = value; }
|
|
295
|
+
#intelligenceExchanges_accessor_storage = (__runInitializers(this, _sessionIntelligenceEnabled_extraInitializers), __runInitializers(this, _intelligenceExchanges_initializers, []));
|
|
296
|
+
get intelligenceExchanges() { return this.#intelligenceExchanges_accessor_storage; }
|
|
297
|
+
set intelligenceExchanges(value) { this.#intelligenceExchanges_accessor_storage = value; }
|
|
298
|
+
#intelligenceBusy_accessor_storage = (__runInitializers(this, _intelligenceExchanges_extraInitializers), __runInitializers(this, _intelligenceBusy_initializers, false));
|
|
299
|
+
get intelligenceBusy() { return this.#intelligenceBusy_accessor_storage; }
|
|
300
|
+
set intelligenceBusy(value) { this.#intelligenceBusy_accessor_storage = value; }
|
|
301
|
+
#intelligenceError_accessor_storage = (__runInitializers(this, _intelligenceBusy_extraInitializers), __runInitializers(this, _intelligenceError_initializers, ''));
|
|
302
|
+
get intelligenceError() { return this.#intelligenceError_accessor_storage; }
|
|
303
|
+
set intelligenceError(value) { this.#intelligenceError_accessor_storage = value; }
|
|
304
|
+
#sessionSidebarOpen_accessor_storage = (__runInitializers(this, _intelligenceError_extraInitializers), __runInitializers(this, _sessionSidebarOpen_initializers, false));
|
|
305
|
+
get sessionSidebarOpen() { return this.#sessionSidebarOpen_accessor_storage; }
|
|
306
|
+
set sessionSidebarOpen(value) { this.#sessionSidebarOpen_accessor_storage = value; }
|
|
307
|
+
#desktopSessionSidebarVisible_accessor_storage = (__runInitializers(this, _sessionSidebarOpen_extraInitializers), __runInitializers(this, _desktopSessionSidebarVisible_initializers, true));
|
|
308
|
+
get desktopSessionSidebarVisible() { return this.#desktopSessionSidebarVisible_accessor_storage; }
|
|
309
|
+
set desktopSessionSidebarVisible(value) { this.#desktopSessionSidebarVisible_accessor_storage = value; }
|
|
310
|
+
#narrowSessionLayout_accessor_storage = (__runInitializers(this, _desktopSessionSidebarVisible_extraInitializers), __runInitializers(this, _narrowSessionLayout_initializers, false));
|
|
311
|
+
get narrowSessionLayout() { return this.#narrowSessionLayout_accessor_storage; }
|
|
312
|
+
set narrowSessionLayout(value) { this.#narrowSessionLayout_accessor_storage = value; }
|
|
313
|
+
sessionLayoutResizeObserver = __runInitializers(this, _narrowSessionLayout_extraInitializers);
|
|
314
|
+
#heading_accessor_storage = __runInitializers(this, _heading_initializers, '');
|
|
218
315
|
get heading() { return this.#heading_accessor_storage; }
|
|
219
316
|
set heading(value) { this.#heading_accessor_storage = value; }
|
|
220
317
|
#subheading_accessor_storage = (__runInitializers(this, _heading_extraInitializers), __runInitializers(this, _subheading_initializers, ''));
|
|
@@ -283,6 +380,7 @@ let DeesHarnessChat = (() => {
|
|
|
283
380
|
}
|
|
284
381
|
|
|
285
382
|
.chatBody {
|
|
383
|
+
position: relative;
|
|
286
384
|
flex: 1;
|
|
287
385
|
min-height: 0;
|
|
288
386
|
min-width: 0;
|
|
@@ -295,22 +393,135 @@ let DeesHarnessChat = (() => {
|
|
|
295
393
|
min-width: 0;
|
|
296
394
|
}
|
|
297
395
|
|
|
298
|
-
.
|
|
396
|
+
.transcriptColumn {
|
|
397
|
+
flex: 1;
|
|
398
|
+
min-height: 0;
|
|
399
|
+
display: flex;
|
|
400
|
+
flex-direction: column;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
.sessionPanel {
|
|
299
404
|
flex: 0 0 232px;
|
|
300
405
|
min-width: 0;
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
406
|
+
min-height: 0;
|
|
407
|
+
display: flex;
|
|
408
|
+
flex-direction: column;
|
|
409
|
+
overflow: hidden;
|
|
410
|
+
padding: 0;
|
|
305
411
|
border-left: 1px solid var(--dees-color-border-subtle);
|
|
306
412
|
background: var(--dees-color-bg-secondary);
|
|
307
413
|
}
|
|
308
414
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
415
|
+
.sessionPanel.desktopHidden {
|
|
416
|
+
display: none;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.sessionPanel > dees-harness-session-sidebar {
|
|
420
|
+
flex: 1;
|
|
421
|
+
min-height: 0;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
.sessionPanelClose,
|
|
425
|
+
.sessionPanelToggle,
|
|
426
|
+
.sessionPanelBackdrop {
|
|
427
|
+
display: none;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
.sessionPanelToggle,
|
|
431
|
+
.toolbarSessionPanelToggle {
|
|
432
|
+
box-sizing: border-box;
|
|
433
|
+
width: var(--dees-control-height-lg);
|
|
434
|
+
height: var(--dees-control-height-lg);
|
|
435
|
+
padding: 0;
|
|
436
|
+
align-items: center;
|
|
437
|
+
justify-content: center;
|
|
438
|
+
border: 1px solid transparent;
|
|
439
|
+
border-radius: var(--dees-radius-lg);
|
|
440
|
+
corner-shape: var(--dees-corner-shape);
|
|
441
|
+
background: transparent;
|
|
442
|
+
color: var(--dees-color-text-primary);
|
|
443
|
+
cursor: pointer;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
.toolbarSessionPanelToggle {
|
|
447
|
+
display: flex;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
.sessionPanelToggle:hover,
|
|
451
|
+
.toolbarSessionPanelToggle:hover {
|
|
452
|
+
background: var(--dees-color-badge-default-bg);
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.sessionPanelToggle:focus-visible,
|
|
456
|
+
.toolbarSessionPanelToggle:focus-visible {
|
|
457
|
+
outline: 2px solid var(--dees-color-accent-primary);
|
|
458
|
+
outline-offset: 2px;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
/* Narrow hosts keep every session section reachable in an overlay.
|
|
462
|
+
Todo tool cards remain a second transcript-level representation. */
|
|
463
|
+
@container (max-width: 680px) {
|
|
464
|
+
.sessionPanel {
|
|
465
|
+
position: absolute;
|
|
466
|
+
inset: 0 0 0 auto;
|
|
467
|
+
display: flex;
|
|
468
|
+
width: min(320px, calc(100% - 36px));
|
|
469
|
+
max-width: none;
|
|
470
|
+
padding: 42px 0 0;
|
|
471
|
+
border-left-color: var(--dees-color-border-default);
|
|
472
|
+
box-shadow: var(--dees-shadow-lg);
|
|
473
|
+
visibility: hidden;
|
|
474
|
+
transform: translateX(100%);
|
|
475
|
+
transition:
|
|
476
|
+
transform var(--dees-transition-default) var(--dees-ease-out),
|
|
477
|
+
visibility 0s linear var(--dees-transition-default);
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
.sessionPanel.desktopHidden {
|
|
481
|
+
display: flex;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
.sessionPanel.open {
|
|
485
|
+
visibility: visible;
|
|
486
|
+
transform: translateX(0);
|
|
487
|
+
transition-delay: 0s;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
.sessionPanelClose {
|
|
491
|
+
position: absolute;
|
|
492
|
+
top: 6px;
|
|
493
|
+
right: 8px;
|
|
494
|
+
display: block;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
.sessionPanelToggle {
|
|
498
|
+
position: absolute;
|
|
499
|
+
top: 8px;
|
|
500
|
+
right: 8px;
|
|
501
|
+
display: flex;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
.sessionPanelBackdrop {
|
|
505
|
+
position: absolute;
|
|
506
|
+
inset: 0;
|
|
507
|
+
display: block;
|
|
508
|
+
border: 0;
|
|
509
|
+
background: color-mix(in srgb, var(--dees-color-bg-primary) 58%, transparent);
|
|
510
|
+
opacity: 0;
|
|
511
|
+
pointer-events: none;
|
|
512
|
+
transition: opacity var(--dees-transition-default) var(--dees-ease-standard);
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
.sessionPanelBackdrop.open {
|
|
516
|
+
opacity: 1;
|
|
517
|
+
pointer-events: auto;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
@media (prefers-reduced-motion: reduce) {
|
|
521
|
+
.sessionPanel,
|
|
522
|
+
.sessionPanelBackdrop {
|
|
523
|
+
transition: none;
|
|
524
|
+
}
|
|
314
525
|
}
|
|
315
526
|
}
|
|
316
527
|
|
|
@@ -358,7 +569,7 @@ let DeesHarnessChat = (() => {
|
|
|
358
569
|
flex: 0 0 auto;
|
|
359
570
|
}
|
|
360
571
|
|
|
361
|
-
.
|
|
572
|
+
.transcriptColumn dees-harness-message-list {
|
|
362
573
|
flex: 1;
|
|
363
574
|
min-height: 0;
|
|
364
575
|
}
|
|
@@ -371,6 +582,36 @@ let DeesHarnessChat = (() => {
|
|
|
371
582
|
position: relative;
|
|
372
583
|
z-index: 1;
|
|
373
584
|
}
|
|
585
|
+
|
|
586
|
+
.composerContextBar {
|
|
587
|
+
min-width: 0;
|
|
588
|
+
display: flex;
|
|
589
|
+
align-items: center;
|
|
590
|
+
gap: var(--dees-spacing-xs);
|
|
591
|
+
padding: 5px var(--dees-spacing-md);
|
|
592
|
+
background: var(--dees-color-bg-secondary);
|
|
593
|
+
color: var(--dees-color-text-muted);
|
|
594
|
+
font-size: var(--dees-font-caption2-size, 10px);
|
|
595
|
+
line-height: 1.3;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
.composerContextBar dees-icon {
|
|
599
|
+
flex: 0 0 auto;
|
|
600
|
+
color: var(--dees-color-text-secondary);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
.composerContextLabel {
|
|
604
|
+
flex: 0 0 auto;
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
.composerContextTitle {
|
|
608
|
+
min-width: 0;
|
|
609
|
+
overflow: hidden;
|
|
610
|
+
color: var(--dees-color-text-secondary);
|
|
611
|
+
font-weight: 600;
|
|
612
|
+
text-overflow: ellipsis;
|
|
613
|
+
white-space: nowrap;
|
|
614
|
+
}
|
|
374
615
|
`,
|
|
375
616
|
];
|
|
376
617
|
// ---------------------------------------------------------------- methods
|
|
@@ -389,6 +630,32 @@ let DeesHarnessChat = (() => {
|
|
|
389
630
|
scrollToBottom(force = false) {
|
|
390
631
|
this.listElement?.scrollToBottom(force);
|
|
391
632
|
}
|
|
633
|
+
async connectedCallback() {
|
|
634
|
+
await super.connectedCallback();
|
|
635
|
+
await this.updateComplete;
|
|
636
|
+
if (!this.isConnected)
|
|
637
|
+
return;
|
|
638
|
+
this.syncSessionLayout(this.getBoundingClientRect().width);
|
|
639
|
+
this.sessionLayoutResizeObserver?.disconnect();
|
|
640
|
+
this.sessionLayoutResizeObserver = new ResizeObserver((entries) => {
|
|
641
|
+
const entry = entries[0];
|
|
642
|
+
if (entry)
|
|
643
|
+
this.syncSessionLayout(entry.contentRect.width);
|
|
644
|
+
});
|
|
645
|
+
this.sessionLayoutResizeObserver.observe(this);
|
|
646
|
+
}
|
|
647
|
+
async disconnectedCallback() {
|
|
648
|
+
this.sessionLayoutResizeObserver?.disconnect();
|
|
649
|
+
this.sessionLayoutResizeObserver = undefined;
|
|
650
|
+
await super.disconnectedCallback();
|
|
651
|
+
}
|
|
652
|
+
syncSessionLayout(widthArg) {
|
|
653
|
+
const narrow = widthArg <= 680;
|
|
654
|
+
if (narrow === this.narrowSessionLayout)
|
|
655
|
+
return;
|
|
656
|
+
this.narrowSessionLayout = narrow;
|
|
657
|
+
this.sessionSidebarOpen = false;
|
|
658
|
+
}
|
|
392
659
|
get effectiveTodos() {
|
|
393
660
|
if (this.todos.length)
|
|
394
661
|
return this.todos;
|
|
@@ -404,6 +671,14 @@ let DeesHarnessChat = (() => {
|
|
|
404
671
|
}
|
|
405
672
|
return [];
|
|
406
673
|
}
|
|
674
|
+
get hasSessionSidebar() {
|
|
675
|
+
if (!this.showSessionSidebar)
|
|
676
|
+
return false;
|
|
677
|
+
return ((this.showTodosPanel && this.effectiveTodos.length > 0)
|
|
678
|
+
|| Object.values(this.sessionMetrics).some((value) => value !== undefined)
|
|
679
|
+
|| this.scratchpad !== undefined
|
|
680
|
+
|| this.sessionIntelligenceEnabled);
|
|
681
|
+
}
|
|
407
682
|
get listElement() {
|
|
408
683
|
const element = this.shadowRoot?.querySelector('dees-harness-message-list');
|
|
409
684
|
return element instanceof DeesHarnessMessageList ? element : undefined;
|
|
@@ -412,25 +687,120 @@ let DeesHarnessChat = (() => {
|
|
|
412
687
|
const element = this.shadowRoot?.querySelector('dees-harness-composer');
|
|
413
688
|
return element instanceof DeesHarnessComposer ? element : undefined;
|
|
414
689
|
}
|
|
690
|
+
toggleSessionSidebar = (__runInitializers(this, _toolRegistry_extraInitializers), () => {
|
|
691
|
+
if (!this.narrowSessionLayout) {
|
|
692
|
+
this.desktopSessionSidebarVisible = !this.desktopSessionSidebarVisible;
|
|
693
|
+
return;
|
|
694
|
+
}
|
|
695
|
+
if (this.sessionSidebarOpen) {
|
|
696
|
+
void this.closeSessionSidebar();
|
|
697
|
+
return;
|
|
698
|
+
}
|
|
699
|
+
void this.openSessionSidebar();
|
|
700
|
+
});
|
|
701
|
+
async openSessionSidebar() {
|
|
702
|
+
this.sessionSidebarOpen = true;
|
|
703
|
+
await this.updateComplete;
|
|
704
|
+
const panel = this.shadowRoot?.querySelector('.sessionPanel');
|
|
705
|
+
await new Promise((resolve) => requestAnimationFrame(() => resolve()));
|
|
706
|
+
panel?.focus();
|
|
707
|
+
}
|
|
708
|
+
async closeSessionSidebar() {
|
|
709
|
+
this.sessionSidebarOpen = false;
|
|
710
|
+
await this.updateComplete;
|
|
711
|
+
const toggleButton = this.shadowRoot?.querySelector(this.showToolbar ? '.toolbarSessionPanelToggle' : '.sessionPanelToggle');
|
|
712
|
+
toggleButton?.focus();
|
|
713
|
+
}
|
|
415
714
|
// ----------------------------------------------------------------- render
|
|
416
715
|
render() {
|
|
417
716
|
return html `
|
|
418
717
|
${this.showToolbar ? this.renderToolbar() : ''}
|
|
419
718
|
<div class="chatBody">
|
|
420
|
-
<
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
719
|
+
<div class="transcriptColumn">
|
|
720
|
+
<dees-harness-message-list
|
|
721
|
+
.messages=${this.messages}
|
|
722
|
+
.permissions=${this.permissions}
|
|
723
|
+
.permissionsBusy=${this.disabled}
|
|
724
|
+
.questions=${this.questions}
|
|
725
|
+
.status=${this.status}
|
|
726
|
+
.showRoles=${this.showRoles}
|
|
727
|
+
.showTimestamps=${this.showTimestamps}
|
|
728
|
+
.toolRegistry=${this.toolRegistry}
|
|
729
|
+
></dees-harness-message-list>
|
|
730
|
+
${this.heading
|
|
431
731
|
? html `
|
|
432
|
-
|
|
433
|
-
|
|
732
|
+
<div class="composerContextBar" title=${`Replying to ${this.heading}`}>
|
|
733
|
+
<dees-icon icon="lucide:MessageSquare" iconSize="11"></dees-icon>
|
|
734
|
+
<span class="composerContextLabel">Replying to</span>
|
|
735
|
+
<span class="composerContextTitle">${this.heading}</span>
|
|
736
|
+
</div>
|
|
737
|
+
`
|
|
738
|
+
: ''}
|
|
739
|
+
${this.hasSessionSidebar && !this.showToolbar ? html `
|
|
740
|
+
<button
|
|
741
|
+
class="sessionPanelToggle"
|
|
742
|
+
type="button"
|
|
743
|
+
aria-label="Session details"
|
|
744
|
+
title="Session details"
|
|
745
|
+
aria-expanded=${String(this.sessionSidebarOpen)}
|
|
746
|
+
aria-controls="harness-session-panel"
|
|
747
|
+
@click=${this.toggleSessionSidebar}
|
|
748
|
+
>
|
|
749
|
+
<dees-icon icon="lucide:PanelRight" iconSize="16"></dees-icon>
|
|
750
|
+
</button>
|
|
751
|
+
` : ''}
|
|
752
|
+
</div>
|
|
753
|
+
${this.hasSessionSidebar
|
|
754
|
+
? html `
|
|
755
|
+
<button
|
|
756
|
+
class=${`sessionPanelBackdrop ${this.sessionSidebarOpen ? 'open' : ''}`}
|
|
757
|
+
aria-label="Close session details"
|
|
758
|
+
aria-hidden=${String(!this.sessionSidebarOpen)}
|
|
759
|
+
?inert=${!this.sessionSidebarOpen}
|
|
760
|
+
tabindex=${this.sessionSidebarOpen ? '0' : '-1'}
|
|
761
|
+
@click=${() => void this.closeSessionSidebar()}
|
|
762
|
+
></button>
|
|
763
|
+
<aside
|
|
764
|
+
id="harness-session-panel"
|
|
765
|
+
class=${`todosPanel sessionPanel ${this.sessionSidebarOpen ? 'open' : ''} ${this.desktopSessionSidebarVisible ? '' : 'desktopHidden'}`}
|
|
766
|
+
aria-label="Session details"
|
|
767
|
+
aria-hidden=${String(this.narrowSessionLayout
|
|
768
|
+
? !this.sessionSidebarOpen
|
|
769
|
+
: !this.desktopSessionSidebarVisible)}
|
|
770
|
+
?inert=${this.narrowSessionLayout
|
|
771
|
+
? !this.sessionSidebarOpen
|
|
772
|
+
: !this.desktopSessionSidebarVisible}
|
|
773
|
+
tabindex="-1"
|
|
774
|
+
@keydown=${(event) => {
|
|
775
|
+
if (event.key !== 'Escape' || !this.narrowSessionLayout)
|
|
776
|
+
return;
|
|
777
|
+
event.preventDefault();
|
|
778
|
+
event.stopPropagation();
|
|
779
|
+
void this.closeSessionSidebar();
|
|
780
|
+
}}
|
|
781
|
+
>
|
|
782
|
+
<dees-button
|
|
783
|
+
class="sessionPanelClose"
|
|
784
|
+
size="icon"
|
|
785
|
+
type="ghost"
|
|
786
|
+
icon="lucide:X"
|
|
787
|
+
text="Close session details"
|
|
788
|
+
title="Close session details"
|
|
789
|
+
@clicked=${() => void this.closeSessionSidebar()}
|
|
790
|
+
></dees-button>
|
|
791
|
+
<dees-harness-session-sidebar
|
|
792
|
+
.todos=${this.effectiveTodos}
|
|
793
|
+
.showTasks=${this.showTodosPanel}
|
|
794
|
+
.metrics=${this.sessionMetrics}
|
|
795
|
+
.scratchpad=${this.scratchpad}
|
|
796
|
+
.scratchpadBusy=${this.scratchpadBusy}
|
|
797
|
+
.scratchpadError=${this.scratchpadError}
|
|
798
|
+
.intelligenceEnabled=${this.sessionIntelligenceEnabled}
|
|
799
|
+
.intelligenceExchanges=${this.intelligenceExchanges}
|
|
800
|
+
.intelligenceBusy=${this.intelligenceBusy}
|
|
801
|
+
.intelligenceError=${this.intelligenceError}
|
|
802
|
+
.disabled=${this.disabled}
|
|
803
|
+
></dees-harness-session-sidebar>
|
|
434
804
|
</aside>
|
|
435
805
|
`
|
|
436
806
|
: ''}
|
|
@@ -478,23 +848,30 @@ let DeesHarnessChat = (() => {
|
|
|
478
848
|
</div>
|
|
479
849
|
<div class="toolbarActions">
|
|
480
850
|
<dees-harness-usage compact .usage=${this.usage}></dees-harness-usage>
|
|
481
|
-
|
|
482
|
-
<
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
851
|
+
${this.hasSessionSidebar ? html `
|
|
852
|
+
<button
|
|
853
|
+
class="toolbarSessionPanelToggle"
|
|
854
|
+
type="button"
|
|
855
|
+
aria-label="Toggle session details"
|
|
856
|
+
title="Toggle session details"
|
|
857
|
+
aria-expanded=${String(this.narrowSessionLayout
|
|
858
|
+
? this.sessionSidebarOpen
|
|
859
|
+
: this.desktopSessionSidebarVisible)}
|
|
860
|
+
aria-controls="harness-session-panel"
|
|
861
|
+
@click=${this.toggleSessionSidebar}
|
|
862
|
+
>
|
|
863
|
+
<dees-icon
|
|
864
|
+
icon=${this.narrowSessionLayout
|
|
865
|
+
? (this.sessionSidebarOpen ? 'lucide:PanelRightClose' : 'lucide:PanelRightOpen')
|
|
866
|
+
: (this.desktopSessionSidebarVisible ? 'lucide:PanelRightClose' : 'lucide:PanelRightOpen')}
|
|
867
|
+
iconSize="16"
|
|
868
|
+
></dees-icon>
|
|
869
|
+
</button>
|
|
870
|
+
` : ''}
|
|
487
871
|
</div>
|
|
488
872
|
</div>
|
|
489
873
|
`;
|
|
490
874
|
}
|
|
491
|
-
emit(name) {
|
|
492
|
-
this.dispatchEvent(new CustomEvent(name, { detail: {}, bubbles: true, composed: true }));
|
|
493
|
-
}
|
|
494
|
-
constructor() {
|
|
495
|
-
super(...arguments);
|
|
496
|
-
__runInitializers(this, _toolRegistry_extraInitializers);
|
|
497
|
-
}
|
|
498
875
|
static {
|
|
499
876
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
500
877
|
}
|
|
@@ -502,4 +879,4 @@ let DeesHarnessChat = (() => {
|
|
|
502
879
|
return DeesHarnessChat = _classThis;
|
|
503
880
|
})();
|
|
504
881
|
export { DeesHarnessChat };
|
|
505
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNoYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1jaGF0L2RlZXMtaGFybmVzcy1jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsVUFBVSxHQUNYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFXdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDeEYsT0FBTyw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8saURBQWlELENBQUM7QUFDekQsT0FBTyw4Q0FBOEMsQ0FBQztBQVN0RDs7Ozs7OztHQU9HO0lBRVUsZUFBZTs0QkFEM0IsYUFBYSxDQUFDLG1CQUFtQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0JBQW5CLFNBQVEsV0FBVzs7OztvQ0FJN0MsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO3VDQUc5QixRQUFRLENBQUMsRUFBRSxTQUFT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
|
|
882
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNoYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1jaGF0L2RlZXMtaGFybmVzcy1jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBY3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sNkNBQTZDLENBQUM7QUFDckQsT0FBTyxpRUFBaUUsQ0FBQztBQUN6RSxPQUFPLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8saURBQWlELENBQUM7QUFDekQsT0FBTyw4Q0FBOEMsQ0FBQztBQVN0RDs7Ozs7O0dBTUc7SUFFVSxlQUFlOzRCQUQzQixhQUFhLENBQUMsbUJBQW1CLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrQkFBbkIsU0FBUSxXQUFXOzs7O29DQUk3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
|