@design.estate/dees-catalog 3.101.0 → 3.103.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 +1558 -979
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.d.ts +30 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +330 -9
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.d.ts +50 -0
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.demo.js +26 -0
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.js +347 -0
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/index.js +2 -0
- 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 +23 -0
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +336 -7
- package/ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.demo.ts +26 -0
- package/ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.ts +317 -0
- package/ts_web/elements/00group-harness/dees-terminal-view/index.ts +1 -0
- package/ts_web/elements/00group-harness/index.ts +1 -0
- package/ts_web/elements/00group-harness/interfaces.ts +26 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { demoFunc } from './dees-terminal-view.demo.js';
|
|
36
|
+
import { DeesElement, html, css, customElement, property, } from '@design.estate/dees-element';
|
|
37
|
+
import { themeDefaultStyles } from '../../00theme.js';
|
|
38
|
+
import { DeesServiceLibLoader } from '../../../services/index.js';
|
|
39
|
+
/**
|
|
40
|
+
* Transport-agnostic xterm.js surface: the host pipes remote PTY output into
|
|
41
|
+
* `write()` and receives keystrokes via `terminal-input` — no process,
|
|
42
|
+
* runtime, or socket coupling. `terminal-resize` reports the grid size after
|
|
43
|
+
* every refit so the host can negotiate a PTY size. xterm loads through
|
|
44
|
+
* DeesServiceLibLoader; CSP-locked hosts can pre-register bundled modules
|
|
45
|
+
* with `provideXtermModules()` to avoid the CDN.
|
|
46
|
+
*/
|
|
47
|
+
let DeesTerminalView = (() => {
|
|
48
|
+
let _classDecorators = [customElement('dees-terminal-view')];
|
|
49
|
+
let _classDescriptor;
|
|
50
|
+
let _classExtraInitializers = [];
|
|
51
|
+
let _classThis;
|
|
52
|
+
let _classSuper = DeesElement;
|
|
53
|
+
let _fontSize_decorators;
|
|
54
|
+
let _fontSize_initializers = [];
|
|
55
|
+
let _fontSize_extraInitializers = [];
|
|
56
|
+
let _disabled_decorators;
|
|
57
|
+
let _disabled_initializers = [];
|
|
58
|
+
let _disabled_extraInitializers = [];
|
|
59
|
+
var DeesTerminalView = class extends _classSuper {
|
|
60
|
+
static { _classThis = this; }
|
|
61
|
+
static {
|
|
62
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
63
|
+
_fontSize_decorators = [property({ type: Number })];
|
|
64
|
+
_disabled_decorators = [property({ type: Boolean })];
|
|
65
|
+
__esDecorate(this, null, _fontSize_decorators, { kind: "accessor", name: "fontSize", static: false, private: false, access: { has: obj => "fontSize" in obj, get: obj => obj.fontSize, set: (obj, value) => { obj.fontSize = value; } }, metadata: _metadata }, _fontSize_initializers, _fontSize_extraInitializers);
|
|
66
|
+
__esDecorate(this, null, _disabled_decorators, { kind: "accessor", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
|
|
67
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
68
|
+
DeesTerminalView = _classThis = _classDescriptor.value;
|
|
69
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
70
|
+
}
|
|
71
|
+
static demo = demoFunc;
|
|
72
|
+
static demoGroups = ['Agent Chat'];
|
|
73
|
+
#fontSize_accessor_storage = __runInitializers(this, _fontSize_initializers, 13);
|
|
74
|
+
/** Font size in px for the terminal grid. */
|
|
75
|
+
get fontSize() { return this.#fontSize_accessor_storage; }
|
|
76
|
+
set fontSize(value) { this.#fontSize_accessor_storage = value; }
|
|
77
|
+
#disabled_accessor_storage = (__runInitializers(this, _fontSize_extraInitializers), __runInitializers(this, _disabled_initializers, false));
|
|
78
|
+
get disabled() { return this.#disabled_accessor_storage; }
|
|
79
|
+
set disabled(value) { this.#disabled_accessor_storage = value; }
|
|
80
|
+
terminal = __runInitializers(this, _disabled_extraInitializers);
|
|
81
|
+
fitAddon;
|
|
82
|
+
resizeObserver;
|
|
83
|
+
inputDisposable;
|
|
84
|
+
lastReportedSize = '';
|
|
85
|
+
// Output that arrives before xterm finished loading is replayed in order.
|
|
86
|
+
pendingWrites = [];
|
|
87
|
+
setupPromise;
|
|
88
|
+
static styles = [
|
|
89
|
+
themeDefaultStyles,
|
|
90
|
+
css `
|
|
91
|
+
:host {
|
|
92
|
+
display: block;
|
|
93
|
+
min-height: 0;
|
|
94
|
+
height: 100%;
|
|
95
|
+
background: var(--dees-color-bg-primary);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.terminalHost {
|
|
99
|
+
width: 100%;
|
|
100
|
+
height: 100%;
|
|
101
|
+
padding: var(--dees-spacing-xs);
|
|
102
|
+
box-sizing: border-box;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* xterm.js styles (shadow DOM needs them locally) */
|
|
106
|
+
.xterm {
|
|
107
|
+
font-feature-settings: 'liga' 0;
|
|
108
|
+
position: relative;
|
|
109
|
+
user-select: none;
|
|
110
|
+
-ms-user-select: none;
|
|
111
|
+
-webkit-user-select: none;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.xterm.focus,
|
|
115
|
+
.xterm:focus {
|
|
116
|
+
outline: none;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.xterm .xterm-helpers {
|
|
120
|
+
position: absolute;
|
|
121
|
+
top: 0;
|
|
122
|
+
z-index: 5;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.xterm .xterm-helper-textarea {
|
|
126
|
+
padding: 0;
|
|
127
|
+
border: 0;
|
|
128
|
+
margin: 0;
|
|
129
|
+
position: absolute;
|
|
130
|
+
opacity: 0;
|
|
131
|
+
left: -9999em;
|
|
132
|
+
top: 0;
|
|
133
|
+
width: 0;
|
|
134
|
+
height: 0;
|
|
135
|
+
z-index: -5;
|
|
136
|
+
white-space: nowrap;
|
|
137
|
+
overflow: hidden;
|
|
138
|
+
resize: none;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.xterm .composition-view {
|
|
142
|
+
background: var(--dees-color-bg-primary);
|
|
143
|
+
color: var(--dees-color-text-primary);
|
|
144
|
+
display: none;
|
|
145
|
+
position: absolute;
|
|
146
|
+
white-space: nowrap;
|
|
147
|
+
z-index: 1;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.xterm .composition-view.active {
|
|
151
|
+
display: block;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.xterm .xterm-viewport {
|
|
155
|
+
background-color: var(--dees-color-bg-primary);
|
|
156
|
+
overflow-y: scroll;
|
|
157
|
+
cursor: default;
|
|
158
|
+
position: absolute;
|
|
159
|
+
right: 0;
|
|
160
|
+
left: 0;
|
|
161
|
+
top: 0;
|
|
162
|
+
bottom: 0;
|
|
163
|
+
scrollbar-width: thin;
|
|
164
|
+
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.xterm .xterm-screen {
|
|
168
|
+
position: relative;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.xterm .xterm-screen canvas {
|
|
172
|
+
position: absolute;
|
|
173
|
+
left: 0;
|
|
174
|
+
top: 0;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.xterm .xterm-scroll-area {
|
|
178
|
+
visibility: hidden;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.xterm-char-measure-element {
|
|
182
|
+
display: inline-block;
|
|
183
|
+
visibility: hidden;
|
|
184
|
+
position: absolute;
|
|
185
|
+
top: 0;
|
|
186
|
+
left: -9999em;
|
|
187
|
+
line-height: normal;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.xterm {
|
|
191
|
+
cursor: text;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.xterm.enable-mouse-events {
|
|
195
|
+
cursor: default;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.xterm.xterm-cursor-pointer {
|
|
199
|
+
cursor: pointer;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.xterm.column-select.focus {
|
|
203
|
+
cursor: crosshair;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.xterm .xterm-accessibility,
|
|
207
|
+
.xterm .xterm-message {
|
|
208
|
+
position: absolute;
|
|
209
|
+
left: 0;
|
|
210
|
+
top: 0;
|
|
211
|
+
bottom: 0;
|
|
212
|
+
right: 0;
|
|
213
|
+
z-index: 10;
|
|
214
|
+
color: transparent;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.xterm .live-region {
|
|
218
|
+
position: absolute;
|
|
219
|
+
left: -9999px;
|
|
220
|
+
width: 1px;
|
|
221
|
+
height: 1px;
|
|
222
|
+
overflow: hidden;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.xterm-dim {
|
|
226
|
+
opacity: 0.5;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.xterm-underline {
|
|
230
|
+
text-decoration: underline;
|
|
231
|
+
}
|
|
232
|
+
`,
|
|
233
|
+
];
|
|
234
|
+
render() {
|
|
235
|
+
return html `<div class="terminalHost"></div>`;
|
|
236
|
+
}
|
|
237
|
+
async firstUpdated() {
|
|
238
|
+
this.setupPromise = this.setupTerminal();
|
|
239
|
+
await this.setupPromise;
|
|
240
|
+
}
|
|
241
|
+
/** Feed remote output into the terminal; safe to call before setup finishes. */
|
|
242
|
+
write(dataArg) {
|
|
243
|
+
if (this.terminal) {
|
|
244
|
+
this.terminal.write(dataArg);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
this.pendingWrites.push(dataArg);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/** Reset the screen and scrollback, e.g. before a full replay. */
|
|
251
|
+
clear() {
|
|
252
|
+
this.pendingWrites = [];
|
|
253
|
+
this.terminal?.reset();
|
|
254
|
+
}
|
|
255
|
+
focus() {
|
|
256
|
+
this.terminal?.focus();
|
|
257
|
+
}
|
|
258
|
+
/** Current grid size, or undefined while xterm is still loading. */
|
|
259
|
+
get currentSize() {
|
|
260
|
+
if (!this.terminal)
|
|
261
|
+
return undefined;
|
|
262
|
+
return { rows: this.terminal.rows, cols: this.terminal.cols };
|
|
263
|
+
}
|
|
264
|
+
async setupTerminal() {
|
|
265
|
+
const libLoader = DeesServiceLibLoader.getInstance();
|
|
266
|
+
const [xterm, fit] = await Promise.all([
|
|
267
|
+
libLoader.loadXterm(),
|
|
268
|
+
libLoader.loadXtermFitAddon(),
|
|
269
|
+
]);
|
|
270
|
+
if (!this.isConnected)
|
|
271
|
+
return;
|
|
272
|
+
const host = this.shadowRoot?.querySelector('.terminalHost');
|
|
273
|
+
if (!host)
|
|
274
|
+
return;
|
|
275
|
+
const computed = getComputedStyle(this);
|
|
276
|
+
const themeColor = (nameArg, fallbackArg) => {
|
|
277
|
+
const value = computed.getPropertyValue(nameArg).trim();
|
|
278
|
+
return value || fallbackArg;
|
|
279
|
+
};
|
|
280
|
+
const terminal = new xterm.Terminal({
|
|
281
|
+
fontSize: this.fontSize,
|
|
282
|
+
fontFamily: themeColor('--dees-font-family-mono', 'monospace'),
|
|
283
|
+
cursorBlink: true,
|
|
284
|
+
allowProposedApi: true,
|
|
285
|
+
scrollback: 10_000,
|
|
286
|
+
theme: {
|
|
287
|
+
background: themeColor('--dees-color-bg-primary', '#111111'),
|
|
288
|
+
foreground: themeColor('--dees-color-text-primary', '#e6e6e6'),
|
|
289
|
+
cursor: themeColor('--dees-color-accent-primary', '#e6e6e6'),
|
|
290
|
+
},
|
|
291
|
+
});
|
|
292
|
+
const fitAddon = new fit.FitAddon();
|
|
293
|
+
terminal.loadAddon(fitAddon);
|
|
294
|
+
terminal.open(host);
|
|
295
|
+
this.terminal = terminal;
|
|
296
|
+
this.fitAddon = fitAddon;
|
|
297
|
+
this.inputDisposable = terminal.onData((dataArg) => {
|
|
298
|
+
if (this.disabled)
|
|
299
|
+
return;
|
|
300
|
+
const detail = { data: dataArg };
|
|
301
|
+
this.dispatchEvent(new CustomEvent('terminal-input', { detail, bubbles: true, composed: true }));
|
|
302
|
+
});
|
|
303
|
+
for (const pending of this.pendingWrites)
|
|
304
|
+
terminal.write(pending);
|
|
305
|
+
this.pendingWrites = [];
|
|
306
|
+
this.refit();
|
|
307
|
+
this.resizeObserver = new ResizeObserver(() => this.refit());
|
|
308
|
+
this.resizeObserver.observe(host);
|
|
309
|
+
}
|
|
310
|
+
refit() {
|
|
311
|
+
if (!this.terminal || !this.fitAddon)
|
|
312
|
+
return;
|
|
313
|
+
try {
|
|
314
|
+
this.fitAddon.fit();
|
|
315
|
+
}
|
|
316
|
+
catch {
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
const size = `${this.terminal.rows}x${this.terminal.cols}`;
|
|
320
|
+
if (size === this.lastReportedSize)
|
|
321
|
+
return;
|
|
322
|
+
this.lastReportedSize = size;
|
|
323
|
+
const detail = {
|
|
324
|
+
rows: this.terminal.rows,
|
|
325
|
+
cols: this.terminal.cols,
|
|
326
|
+
};
|
|
327
|
+
this.dispatchEvent(new CustomEvent('terminal-resize', { detail, bubbles: true, composed: true }));
|
|
328
|
+
}
|
|
329
|
+
async disconnectedCallback() {
|
|
330
|
+
await super.disconnectedCallback();
|
|
331
|
+
this.resizeObserver?.disconnect();
|
|
332
|
+
this.resizeObserver = undefined;
|
|
333
|
+
this.inputDisposable?.dispose();
|
|
334
|
+
this.inputDisposable = undefined;
|
|
335
|
+
this.terminal?.dispose();
|
|
336
|
+
this.terminal = undefined;
|
|
337
|
+
this.fitAddon = undefined;
|
|
338
|
+
this.pendingWrites = [];
|
|
339
|
+
}
|
|
340
|
+
static {
|
|
341
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
return DeesTerminalView = _classThis;
|
|
345
|
+
})();
|
|
346
|
+
export { DeesTerminalView };
|
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy10ZXJtaW5hbC12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLXRlcm1pbmFsLXZpZXcvZGVlcy10ZXJtaW5hbC12aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEdBQ1QsTUFBTSw2QkFBNkIsQ0FBQztBQUdyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQW1CbEU7Ozs7Ozs7R0FPRztJQUVVLGdCQUFnQjs0QkFENUIsYUFBYSxDQUFDLG9CQUFvQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Z0NBQW5CLFNBQVEsV0FBVzs7OztvQ0FLOUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO29DQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFGNUIsNktBQVMsUUFBUSw2QkFBUixRQUFRLDJGQUFjO1lBRy9CLDZLQUFTLFFBQVEsNkJBQVIsUUFBUSwyRkFBa0I7WUFUckMsNktBb1JDOzs7O1FBblJRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUkxQyw2RUFBNEIsRUFBRSxFQUFDO1FBRi9CLDZDQUE2QztRQUU3QyxJQUFTLFFBQVEsOENBQWM7UUFBL0IsSUFBUyxRQUFRLG9EQUFjO1FBRy9CLG9JQUE2QixLQUFLLEdBQUM7UUFBbkMs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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dees-terminal-view.js';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './dees-terminal-view.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtdGVybWluYWwtdmlldy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIn0=
|
|
@@ -13,6 +13,7 @@ export * from './dees-harness-question-card/index.js';
|
|
|
13
13
|
export * from './dees-harness-message-list/index.js';
|
|
14
14
|
export * from './dees-harness-reasoning/index.js';
|
|
15
15
|
export * from './dees-harness-session-list/index.js';
|
|
16
|
+
export * from './dees-terminal-view/index.js';
|
|
16
17
|
export * from './dees-harness-status/index.js';
|
|
17
18
|
export * from './dees-harness-todos/index.js';
|
|
18
19
|
export * from './dees-harness-tool-card/index.js';
|
|
@@ -16,8 +16,9 @@ export * from './dees-harness-question-card/index.js';
|
|
|
16
16
|
export * from './dees-harness-message-list/index.js';
|
|
17
17
|
export * from './dees-harness-reasoning/index.js';
|
|
18
18
|
export * from './dees-harness-session-list/index.js';
|
|
19
|
+
export * from './dees-terminal-view/index.js';
|
|
19
20
|
export * from './dees-harness-status/index.js';
|
|
20
21
|
export * from './dees-harness-todos/index.js';
|
|
21
22
|
export * from './dees-harness-tool-card/index.js';
|
|
22
23
|
export * from './dees-harness-usage/index.js';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyRUFBMkU7QUFDM0UsNkVBQTZFO0FBQzdFLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUYsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUMifQ==
|
|
@@ -187,6 +187,8 @@ export interface IHarnessSessionMeta {
|
|
|
187
187
|
updatedAt?: number;
|
|
188
188
|
messageCount?: number;
|
|
189
189
|
preview?: string;
|
|
190
|
+
/** Optional dees-icon name (e.g. 'lucide:Terminal') shown before the title. */
|
|
191
|
+
icon?: string;
|
|
190
192
|
}
|
|
191
193
|
/** Detail of `harness-session-context`, fired on right-click of a session item. */
|
|
192
194
|
export interface IHarnessSessionContextDetail {
|
|
@@ -197,6 +199,27 @@ export interface IHarnessSessionContextDetail {
|
|
|
197
199
|
/** The suppressed contextmenu event, e.g. for DeesContextmenu.openContextMenuWithOptions. */
|
|
198
200
|
originalEvent: MouseEvent;
|
|
199
201
|
}
|
|
202
|
+
/** A user-defined session group; ordering of `sessionIds` is the display order. */
|
|
203
|
+
export interface IHarnessSessionGroup {
|
|
204
|
+
id: string;
|
|
205
|
+
name: string;
|
|
206
|
+
sessionIds: string[];
|
|
207
|
+
}
|
|
208
|
+
/** Detail of `harness-session-move`: a session was dropped into a group slot. */
|
|
209
|
+
export interface IHarnessSessionMoveDetail {
|
|
210
|
+
sessionId: string;
|
|
211
|
+
/** Target group, or null for the ungrouped section. */
|
|
212
|
+
groupId: string | null;
|
|
213
|
+
/** Insertion index within the target section's current display order. */
|
|
214
|
+
index: number;
|
|
215
|
+
}
|
|
216
|
+
/** Detail of `harness-group-context`, fired on right-click of a group header. */
|
|
217
|
+
export interface IHarnessGroupContextDetail {
|
|
218
|
+
group: IHarnessSessionGroup;
|
|
219
|
+
clientX: number;
|
|
220
|
+
clientY: number;
|
|
221
|
+
originalEvent: MouseEvent;
|
|
222
|
+
}
|
|
200
223
|
export type THarnessTodoStatus = 'pending' | 'in_progress' | 'completed';
|
|
201
224
|
export interface IHarnessTodoItem {
|
|
202
225
|
id?: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-catalog",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.103.0",
|
|
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",
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '3.
|
|
6
|
+
version: '3.103.0',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
}
|