@design.estate/dees-catalog 3.92.0 → 3.93.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 +212 -39
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.d.ts +10 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.js +127 -16
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.js +82 -9
- package/dist_watch/bundle.js +211 -38
- package/dist_watch/bundle.js.map +3 -3
- package/package.json +1 -1
- package/readme.md +3 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.ts +132 -19
- package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.ts +69 -7
|
@@ -35,11 +35,13 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
35
35
|
import { demoFunc } from './dees-harness-chat.demo.js';
|
|
36
36
|
import { DeesElement, html, css, customElement, property, cssManager, } from '@design.estate/dees-element';
|
|
37
37
|
import { themeDefaultStyles } from '../../00theme.js';
|
|
38
|
+
import { harnessParseTodos } from '../harness.helpers.js';
|
|
38
39
|
import { DeesHarnessToolRegistry } from '../toolregistry.js';
|
|
39
40
|
import { DeesHarnessMessageList } from '../dees-harness-message-list/dees-harness-message-list.js';
|
|
40
41
|
import { DeesHarnessComposer } from '../dees-harness-composer/dees-harness-composer.js';
|
|
41
42
|
import '../dees-harness-permission-card/dees-harness-permission-card.js';
|
|
42
43
|
import '../dees-harness-status/dees-harness-status.js';
|
|
44
|
+
import '../dees-harness-todos/dees-harness-todos.js';
|
|
43
45
|
import '../dees-harness-usage/dees-harness-usage.js';
|
|
44
46
|
import '../../00group-button/dees-button/dees-button.js';
|
|
45
47
|
import '../../00group-utility/dees-icon/dees-icon.js';
|
|
@@ -72,6 +74,12 @@ let DeesHarnessChat = (() => {
|
|
|
72
74
|
let _usage_decorators;
|
|
73
75
|
let _usage_initializers = [];
|
|
74
76
|
let _usage_extraInitializers = [];
|
|
77
|
+
let _todos_decorators;
|
|
78
|
+
let _todos_initializers = [];
|
|
79
|
+
let _todos_extraInitializers = [];
|
|
80
|
+
let _showTodosPanel_decorators;
|
|
81
|
+
let _showTodosPanel_initializers = [];
|
|
82
|
+
let _showTodosPanel_extraInitializers = [];
|
|
75
83
|
let _heading_decorators;
|
|
76
84
|
let _heading_initializers = [];
|
|
77
85
|
let _heading_extraInitializers = [];
|
|
@@ -122,6 +130,8 @@ let DeesHarnessChat = (() => {
|
|
|
122
130
|
_permissions_decorators = [property({ attribute: false })];
|
|
123
131
|
_status_decorators = [property({ attribute: false })];
|
|
124
132
|
_usage_decorators = [property({ attribute: false })];
|
|
133
|
+
_todos_decorators = [property({ attribute: false })];
|
|
134
|
+
_showTodosPanel_decorators = [property({ type: Boolean })];
|
|
125
135
|
_heading_decorators = [property()];
|
|
126
136
|
_subheading_decorators = [property()];
|
|
127
137
|
_showToolbar_decorators = [property({ type: Boolean })];
|
|
@@ -140,6 +150,8 @@ let DeesHarnessChat = (() => {
|
|
|
140
150
|
__esDecorate(this, null, _permissions_decorators, { kind: "accessor", name: "permissions", static: false, private: false, access: { has: obj => "permissions" in obj, get: obj => obj.permissions, set: (obj, value) => { obj.permissions = value; } }, metadata: _metadata }, _permissions_initializers, _permissions_extraInitializers);
|
|
141
151
|
__esDecorate(this, null, _status_decorators, { kind: "accessor", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_extraInitializers);
|
|
142
152
|
__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);
|
|
153
|
+
__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);
|
|
154
|
+
__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);
|
|
143
155
|
__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);
|
|
144
156
|
__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);
|
|
145
157
|
__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);
|
|
@@ -172,7 +184,18 @@ let DeesHarnessChat = (() => {
|
|
|
172
184
|
#usage_accessor_storage = (__runInitializers(this, _status_extraInitializers), __runInitializers(this, _usage_initializers, {}));
|
|
173
185
|
get usage() { return this.#usage_accessor_storage; }
|
|
174
186
|
set usage(value) { this.#usage_accessor_storage = value; }
|
|
175
|
-
#
|
|
187
|
+
#todos_accessor_storage = (__runInitializers(this, _usage_extraInitializers), __runInitializers(this, _todos_initializers, []));
|
|
188
|
+
/**
|
|
189
|
+
* Current task list for the side panel. When empty, the panel derives it
|
|
190
|
+
* from the newest todo tool call in `messages` (registry kind 'todo'), so
|
|
191
|
+
* hosts that stream todowrite calls get the sidebar for free.
|
|
192
|
+
*/
|
|
193
|
+
get todos() { return this.#todos_accessor_storage; }
|
|
194
|
+
set todos(value) { this.#todos_accessor_storage = value; }
|
|
195
|
+
#showTodosPanel_accessor_storage = (__runInitializers(this, _todos_extraInitializers), __runInitializers(this, _showTodosPanel_initializers, true));
|
|
196
|
+
get showTodosPanel() { return this.#showTodosPanel_accessor_storage; }
|
|
197
|
+
set showTodosPanel(value) { this.#showTodosPanel_accessor_storage = value; }
|
|
198
|
+
#heading_accessor_storage = (__runInitializers(this, _showTodosPanel_extraInitializers), __runInitializers(this, _heading_initializers, ''));
|
|
176
199
|
get heading() { return this.#heading_accessor_storage; }
|
|
177
200
|
set heading(value) { this.#heading_accessor_storage = value; }
|
|
178
201
|
#subheading_accessor_storage = (__runInitializers(this, _heading_extraInitializers), __runInitializers(this, _subheading_initializers, ''));
|
|
@@ -227,6 +250,32 @@ let DeesHarnessChat = (() => {
|
|
|
227
250
|
font-family: var(--dees-font-family);
|
|
228
251
|
color: var(--dees-color-text-primary);
|
|
229
252
|
background: var(--dees-color-bg-primary);
|
|
253
|
+
container-type: inline-size;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.chatBody {
|
|
257
|
+
flex: 1;
|
|
258
|
+
min-height: 0;
|
|
259
|
+
display: flex;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.todosPanel {
|
|
263
|
+
flex: 0 0 232px;
|
|
264
|
+
min-width: 0;
|
|
265
|
+
overflow-y: auto;
|
|
266
|
+
scrollbar-width: thin;
|
|
267
|
+
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
|
|
268
|
+
padding: var(--dees-spacing-sm) var(--dees-spacing-md);
|
|
269
|
+
border-left: 1px solid var(--dees-color-border-subtle);
|
|
270
|
+
background: var(--dees-color-bg-secondary);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/* narrow hosts (e.g. a sidebar chat) drop the panel; todo tool cards
|
|
274
|
+
in the transcript still carry the same information */
|
|
275
|
+
@container (max-width: 520px) {
|
|
276
|
+
.todosPanel {
|
|
277
|
+
display: none;
|
|
278
|
+
}
|
|
230
279
|
}
|
|
231
280
|
|
|
232
281
|
.toolbar {
|
|
@@ -269,7 +318,7 @@ let DeesHarnessChat = (() => {
|
|
|
269
318
|
flex: 0 0 auto;
|
|
270
319
|
}
|
|
271
320
|
|
|
272
|
-
dees-harness-message-list {
|
|
321
|
+
.chatBody dees-harness-message-list {
|
|
273
322
|
flex: 1;
|
|
274
323
|
min-height: 0;
|
|
275
324
|
}
|
|
@@ -319,6 +368,21 @@ let DeesHarnessChat = (() => {
|
|
|
319
368
|
scrollToBottom(force = false) {
|
|
320
369
|
this.listElement?.scrollToBottom(force);
|
|
321
370
|
}
|
|
371
|
+
get effectiveTodos() {
|
|
372
|
+
if (this.todos.length)
|
|
373
|
+
return this.todos;
|
|
374
|
+
// the newest todo call is the current state — an empty write clears
|
|
375
|
+
// the panel instead of falling back to an older list
|
|
376
|
+
for (let index = this.messages.length - 1; index >= 0; index--) {
|
|
377
|
+
const call = this.messages[index]?.toolCall;
|
|
378
|
+
if (!call)
|
|
379
|
+
continue;
|
|
380
|
+
if (this.toolRegistry.resolve(call).kind !== 'todo')
|
|
381
|
+
continue;
|
|
382
|
+
return harnessParseTodos(call.input);
|
|
383
|
+
}
|
|
384
|
+
return [];
|
|
385
|
+
}
|
|
322
386
|
get listElement() {
|
|
323
387
|
const element = this.shadowRoot?.querySelector('dees-harness-message-list');
|
|
324
388
|
return element instanceof DeesHarnessMessageList ? element : undefined;
|
|
@@ -331,12 +395,21 @@ let DeesHarnessChat = (() => {
|
|
|
331
395
|
render() {
|
|
332
396
|
return html `
|
|
333
397
|
${this.showToolbar ? this.renderToolbar() : ''}
|
|
334
|
-
<
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
398
|
+
<div class="chatBody">
|
|
399
|
+
<dees-harness-message-list
|
|
400
|
+
.messages=${this.messages}
|
|
401
|
+
.status=${idleStatus}
|
|
402
|
+
.showRoles=${this.showRoles}
|
|
403
|
+
.toolRegistry=${this.toolRegistry}
|
|
404
|
+
></dees-harness-message-list>
|
|
405
|
+
${this.showTodosPanel && this.effectiveTodos.length
|
|
406
|
+
? html `
|
|
407
|
+
<aside class="todosPanel">
|
|
408
|
+
<dees-harness-todos heading="Tasks" .todos=${this.effectiveTodos}></dees-harness-todos>
|
|
409
|
+
</aside>
|
|
410
|
+
`
|
|
411
|
+
: ''}
|
|
412
|
+
</div>
|
|
340
413
|
${this.permissions.length
|
|
341
414
|
? html `
|
|
342
415
|
<div class="permissionQueue">
|
|
@@ -409,4 +482,4 @@ let DeesHarnessChat = (() => {
|
|
|
409
482
|
return DeesHarnessChat = _classThis;
|
|
410
483
|
})();
|
|
411
484
|
export { DeesHarnessChat };
|
|
412
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
485
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNoYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1jaGF0L2RlZXMtaGFybmVzcy1jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsVUFBVSxHQUNYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFVdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDeEYsT0FBTyxpRUFBaUUsQ0FBQztBQUN6RSxPQUFPLCtDQUErQyxDQUFDO0FBQ3ZELE9BQU8sNkNBQTZDLENBQUM7QUFDckQsT0FBTyw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sOENBQThDLENBQUM7QUFRdEQseUVBQXlFO0FBQ3pFLGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsR0FBbUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFFcEQ7Ozs7Ozs7R0FPRztJQUVVLGVBQWU7NEJBRDNCLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQzs7OztzQkFDRSxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
package/dist_watch/bundle.js
CHANGED
|
@@ -207021,26 +207021,150 @@ var simulate = /* @__PURE__ */ __name((event) => {
|
|
|
207021
207021
|
const chat = chatOf(event);
|
|
207022
207022
|
if (!chat) return;
|
|
207023
207023
|
stopStream?.();
|
|
207024
|
-
const
|
|
207025
|
-
|
|
207024
|
+
const runId = Date.now();
|
|
207025
|
+
const cancels = [];
|
|
207026
|
+
const at = /* @__PURE__ */ __name((ms, action) => {
|
|
207027
|
+
const timeout2 = setTimeout(action, ms);
|
|
207028
|
+
cancels.push(() => clearTimeout(timeout2));
|
|
207029
|
+
}, "at");
|
|
207030
|
+
stopStream = /* @__PURE__ */ __name(() => {
|
|
207031
|
+
for (const cancel of cancels) cancel();
|
|
207032
|
+
chat.status = { type: "idle" };
|
|
207033
|
+
}, "stopStream");
|
|
207034
|
+
const pushMessage = /* @__PURE__ */ __name((message2) => {
|
|
207035
|
+
chat.messages = [...chat.messages, message2];
|
|
207036
|
+
}, "pushMessage");
|
|
207037
|
+
const updateTool = /* @__PURE__ */ __name((messageId, tool) => {
|
|
207038
|
+
chat.applyDelta({ type: "tool-update", messageId, tool });
|
|
207039
|
+
}, "updateTool");
|
|
207040
|
+
chat.status = { type: "busy", message: "Planning\u2026" };
|
|
207041
|
+
const reasoningMessage = {
|
|
207042
|
+
id: `sim-${runId}-reasoning`,
|
|
207026
207043
|
role: "assistant",
|
|
207027
207044
|
text: "",
|
|
207028
207045
|
createdAt: Date.now(),
|
|
207029
207046
|
streaming: true
|
|
207030
207047
|
};
|
|
207031
|
-
|
|
207032
|
-
chat.
|
|
207033
|
-
|
|
207034
|
-
|
|
207035
|
-
|
|
207036
|
-
|
|
207037
|
-
|
|
207038
|
-
|
|
207039
|
-
|
|
207040
|
-
|
|
207041
|
-
|
|
207042
|
-
|
|
207043
|
-
)
|
|
207048
|
+
pushMessage(reasoningMessage);
|
|
207049
|
+
chat.applyDelta({ type: "reasoning-start", messageId: reasoningMessage.id, partId: "r1", startedAt: Date.now() });
|
|
207050
|
+
const reasoningText = "The cache key includes the locale list, so every rollout re-crawls. Plan: track the fix as todos, run the tests, then pin the key to the route manifest.";
|
|
207051
|
+
reasoningText.split(" ").forEach((word, index3) => {
|
|
207052
|
+
at(80 + index3 * 45, () => chat.applyDelta({ type: "reasoning", messageId: reasoningMessage.id, partId: "r1", delta: word + " " }));
|
|
207053
|
+
});
|
|
207054
|
+
const reasoningDoneAt = 80 + reasoningText.split(" ").length * 45 + 150;
|
|
207055
|
+
at(reasoningDoneAt, () => {
|
|
207056
|
+
chat.applyDelta({ type: "reasoning-end", messageId: reasoningMessage.id, partId: "r1", endedAt: Date.now() });
|
|
207057
|
+
chat.applyDelta({ type: "message-end", messageId: reasoningMessage.id });
|
|
207058
|
+
});
|
|
207059
|
+
const todoId = `sim-${runId}-todos`;
|
|
207060
|
+
at(reasoningDoneAt + 300, () => {
|
|
207061
|
+
chat.status = { type: "busy", message: "Updating task list\u2026" };
|
|
207062
|
+
pushMessage({
|
|
207063
|
+
id: todoId,
|
|
207064
|
+
role: "tool",
|
|
207065
|
+
text: "",
|
|
207066
|
+
createdAt: Date.now(),
|
|
207067
|
+
toolCall: {
|
|
207068
|
+
id: `${todoId}-call`,
|
|
207069
|
+
name: "todowrite",
|
|
207070
|
+
status: "running",
|
|
207071
|
+
input: { todos: [
|
|
207072
|
+
{ content: "Pin sitemap cache key to route manifest hash", status: "in_progress" },
|
|
207073
|
+
{ content: "Run the sitemap test suite", status: "pending" },
|
|
207074
|
+
{ content: "Apply the cache-key patch", status: "pending" },
|
|
207075
|
+
{ content: "Verify staging timings", status: "pending" }
|
|
207076
|
+
] },
|
|
207077
|
+
startedAt: Date.now()
|
|
207078
|
+
}
|
|
207079
|
+
});
|
|
207080
|
+
});
|
|
207081
|
+
at(reasoningDoneAt + 1e3, () => updateTool(todoId, { id: `${todoId}-call`, status: "completed", finishedAt: Date.now() }));
|
|
207082
|
+
const testId = `sim-${runId}-test`;
|
|
207083
|
+
at(reasoningDoneAt + 1400, () => {
|
|
207084
|
+
chat.status = { type: "busy", message: "Running tests\u2026" };
|
|
207085
|
+
pushMessage({
|
|
207086
|
+
id: testId,
|
|
207087
|
+
role: "tool",
|
|
207088
|
+
text: "",
|
|
207089
|
+
createdAt: Date.now(),
|
|
207090
|
+
toolCall: {
|
|
207091
|
+
id: `${testId}-call`,
|
|
207092
|
+
name: "run_command",
|
|
207093
|
+
status: "running",
|
|
207094
|
+
input: { command: "pnpm test --filter sitemap", cwd: "/srv/app" },
|
|
207095
|
+
startedAt: Date.now()
|
|
207096
|
+
}
|
|
207097
|
+
});
|
|
207098
|
+
});
|
|
207099
|
+
at(reasoningDoneAt + 3200, () => updateTool(testId, {
|
|
207100
|
+
id: `${testId}-call`,
|
|
207101
|
+
status: "completed",
|
|
207102
|
+
output: { exitCode: 0, stdout: "14 tests passed\n0 failed" },
|
|
207103
|
+
finishedAt: Date.now()
|
|
207104
|
+
}));
|
|
207105
|
+
const editId = `sim-${runId}-edit`;
|
|
207106
|
+
at(reasoningDoneAt + 3600, () => {
|
|
207107
|
+
chat.status = { type: "busy", message: "Applying the patch\u2026" };
|
|
207108
|
+
pushMessage({
|
|
207109
|
+
id: editId,
|
|
207110
|
+
role: "tool",
|
|
207111
|
+
text: "",
|
|
207112
|
+
createdAt: Date.now(),
|
|
207113
|
+
toolCall: {
|
|
207114
|
+
id: `${editId}-call`,
|
|
207115
|
+
name: "write_file",
|
|
207116
|
+
status: "running",
|
|
207117
|
+
input: {
|
|
207118
|
+
path: "/srv/app/src/jobs/sitemap.job.ts",
|
|
207119
|
+
oldContent: "const cacheKey = hash(locales);\nconst ttl = 3600;",
|
|
207120
|
+
content: "const cacheKey = hash(routeManifest);\nconst ttl = 3600;"
|
|
207121
|
+
},
|
|
207122
|
+
startedAt: Date.now()
|
|
207123
|
+
}
|
|
207124
|
+
});
|
|
207125
|
+
});
|
|
207126
|
+
at(reasoningDoneAt + 4600, () => updateTool(editId, { id: `${editId}-call`, status: "completed", finishedAt: Date.now() }));
|
|
207127
|
+
const todoDoneId = `sim-${runId}-todos-2`;
|
|
207128
|
+
at(reasoningDoneAt + 5e3, () => {
|
|
207129
|
+
pushMessage({
|
|
207130
|
+
id: todoDoneId,
|
|
207131
|
+
role: "tool",
|
|
207132
|
+
text: "",
|
|
207133
|
+
createdAt: Date.now(),
|
|
207134
|
+
toolCall: {
|
|
207135
|
+
id: `${todoDoneId}-call`,
|
|
207136
|
+
name: "todowrite",
|
|
207137
|
+
status: "completed",
|
|
207138
|
+
input: { todos: [
|
|
207139
|
+
{ content: "Pin sitemap cache key to route manifest hash", status: "completed" },
|
|
207140
|
+
{ content: "Run the sitemap test suite", status: "completed" },
|
|
207141
|
+
{ content: "Apply the cache-key patch", status: "completed" },
|
|
207142
|
+
{ content: "Verify staging timings", status: "in_progress" }
|
|
207143
|
+
] },
|
|
207144
|
+
startedAt: Date.now(),
|
|
207145
|
+
finishedAt: Date.now()
|
|
207146
|
+
}
|
|
207147
|
+
});
|
|
207148
|
+
});
|
|
207149
|
+
const summaryId = `sim-${runId}-summary`;
|
|
207150
|
+
at(reasoningDoneAt + 5400, () => {
|
|
207151
|
+
chat.status = { type: "busy", message: "Responding\u2026" };
|
|
207152
|
+
pushMessage({ id: summaryId, role: "assistant", text: "", createdAt: Date.now(), streaming: true });
|
|
207153
|
+
const summary = "Patched `sitemap.job.ts` to key the cache on the **route manifest hash** \u2014 tests pass (14/14). Staging verification is the last open task.";
|
|
207154
|
+
let offset = 0;
|
|
207155
|
+
const interval3 = setInterval(() => {
|
|
207156
|
+
const chunk = summary.slice(offset, offset + 6);
|
|
207157
|
+
offset += 6;
|
|
207158
|
+
if (!chunk) {
|
|
207159
|
+
clearInterval(interval3);
|
|
207160
|
+
chat.applyDelta({ type: "message-end", messageId: summaryId, usage: { inputTokens: 2100, outputTokens: 260, totalTokens: 2360 } });
|
|
207161
|
+
chat.status = { type: "idle" };
|
|
207162
|
+
return;
|
|
207163
|
+
}
|
|
207164
|
+
chat.applyDelta({ type: "text", messageId: summaryId, delta: chunk });
|
|
207165
|
+
}, 40);
|
|
207166
|
+
cancels.push(() => clearInterval(interval3));
|
|
207167
|
+
});
|
|
207044
207168
|
}, "simulate");
|
|
207045
207169
|
var askPermission = /* @__PURE__ */ __name((event) => {
|
|
207046
207170
|
const chat = chatOf(event);
|
|
@@ -210341,30 +210465,32 @@ var DeesHarnessUsage = _DeesHarnessUsage;
|
|
|
210341
210465
|
init_dist_ts25();
|
|
210342
210466
|
init_theme();
|
|
210343
210467
|
init_dees_icon();
|
|
210344
|
-
var _toolRegistry_dec4, _effortOptions_dec2, _reasoningEffort_dec2, _modelOptions_dec2, _model_dec2, _attachments_dec2, _composerValue_dec, _queuedCount_dec2, _busy_dec3, _disabled_dec6, _showRoles_dec2, _showToolbar_dec, _subheading_dec, _heading_dec6, _usage_dec2, _status_dec6, _permissions_dec, _messages_dec2, _a86, _DeesHarnessChat_decorators, _init87, _messages2, _permissions, _status6, _usage2, _heading6, _subheading, _showToolbar, _showRoles2, _disabled6, _busy3, _queuedCount2, _composerValue, _attachments2, _model2, _modelOptions2, _reasoningEffort2, _effortOptions2, _toolRegistry4;
|
|
210468
|
+
var _toolRegistry_dec4, _effortOptions_dec2, _reasoningEffort_dec2, _modelOptions_dec2, _model_dec2, _attachments_dec2, _composerValue_dec, _queuedCount_dec2, _busy_dec3, _disabled_dec6, _showRoles_dec2, _showToolbar_dec, _subheading_dec, _heading_dec6, _showTodosPanel_dec, _todos_dec2, _usage_dec2, _status_dec6, _permissions_dec, _messages_dec2, _a86, _DeesHarnessChat_decorators, _init87, _messages2, _permissions, _status6, _usage2, _todos2, _showTodosPanel, _heading6, _subheading, _showToolbar, _showRoles2, _disabled6, _busy3, _queuedCount2, _composerValue, _attachments2, _model2, _modelOptions2, _reasoningEffort2, _effortOptions2, _toolRegistry4;
|
|
210345
210469
|
var idleStatus = { type: "idle" };
|
|
210346
210470
|
_DeesHarnessChat_decorators = [customElement("dees-harness-chat")];
|
|
210347
|
-
var _DeesHarnessChat = class _DeesHarnessChat extends (_a86 = DeesElement, _messages_dec2 = [n5({ attribute: false })], _permissions_dec = [n5({ attribute: false })], _status_dec6 = [n5({ attribute: false })], _usage_dec2 = [n5({ attribute: false })], _heading_dec6 = [n5()], _subheading_dec = [n5()], _showToolbar_dec = [n5({ type: Boolean })], _showRoles_dec2 = [n5({ type: Boolean })], _disabled_dec6 = [n5({ type: Boolean })], _busy_dec3 = [n5({ type: Boolean })], _queuedCount_dec2 = [n5({ type: Number })], _composerValue_dec = [n5()], _attachments_dec2 = [n5({ attribute: false })], _model_dec2 = [n5()], _modelOptions_dec2 = [n5({ attribute: false })], _reasoningEffort_dec2 = [n5()], _effortOptions_dec2 = [n5({ attribute: false })], _toolRegistry_dec4 = [n5({ attribute: false })], _a86) {
|
|
210471
|
+
var _DeesHarnessChat = class _DeesHarnessChat extends (_a86 = DeesElement, _messages_dec2 = [n5({ attribute: false })], _permissions_dec = [n5({ attribute: false })], _status_dec6 = [n5({ attribute: false })], _usage_dec2 = [n5({ attribute: false })], _todos_dec2 = [n5({ attribute: false })], _showTodosPanel_dec = [n5({ type: Boolean })], _heading_dec6 = [n5()], _subheading_dec = [n5()], _showToolbar_dec = [n5({ type: Boolean })], _showRoles_dec2 = [n5({ type: Boolean })], _disabled_dec6 = [n5({ type: Boolean })], _busy_dec3 = [n5({ type: Boolean })], _queuedCount_dec2 = [n5({ type: Number })], _composerValue_dec = [n5()], _attachments_dec2 = [n5({ attribute: false })], _model_dec2 = [n5()], _modelOptions_dec2 = [n5({ attribute: false })], _reasoningEffort_dec2 = [n5()], _effortOptions_dec2 = [n5({ attribute: false })], _toolRegistry_dec4 = [n5({ attribute: false })], _a86) {
|
|
210348
210472
|
constructor() {
|
|
210349
210473
|
super(...arguments);
|
|
210350
210474
|
__privateAdd(this, _messages2, __runInitializers(_init87, 8, this, [])), __runInitializers(_init87, 11, this);
|
|
210351
210475
|
__privateAdd(this, _permissions, __runInitializers(_init87, 12, this, [])), __runInitializers(_init87, 15, this);
|
|
210352
210476
|
__privateAdd(this, _status6, __runInitializers(_init87, 16, this, { type: "idle" })), __runInitializers(_init87, 19, this);
|
|
210353
210477
|
__privateAdd(this, _usage2, __runInitializers(_init87, 20, this, {})), __runInitializers(_init87, 23, this);
|
|
210354
|
-
__privateAdd(this,
|
|
210355
|
-
__privateAdd(this,
|
|
210356
|
-
__privateAdd(this,
|
|
210357
|
-
__privateAdd(this,
|
|
210358
|
-
__privateAdd(this,
|
|
210359
|
-
__privateAdd(this,
|
|
210360
|
-
__privateAdd(this,
|
|
210361
|
-
__privateAdd(this,
|
|
210362
|
-
__privateAdd(this,
|
|
210363
|
-
__privateAdd(this,
|
|
210364
|
-
__privateAdd(this,
|
|
210365
|
-
__privateAdd(this,
|
|
210366
|
-
__privateAdd(this,
|
|
210367
|
-
__privateAdd(this,
|
|
210478
|
+
__privateAdd(this, _todos2, __runInitializers(_init87, 24, this, [])), __runInitializers(_init87, 27, this);
|
|
210479
|
+
__privateAdd(this, _showTodosPanel, __runInitializers(_init87, 28, this, true)), __runInitializers(_init87, 31, this);
|
|
210480
|
+
__privateAdd(this, _heading6, __runInitializers(_init87, 32, this, "")), __runInitializers(_init87, 35, this);
|
|
210481
|
+
__privateAdd(this, _subheading, __runInitializers(_init87, 36, this, "")), __runInitializers(_init87, 39, this);
|
|
210482
|
+
__privateAdd(this, _showToolbar, __runInitializers(_init87, 40, this, true)), __runInitializers(_init87, 43, this);
|
|
210483
|
+
__privateAdd(this, _showRoles2, __runInitializers(_init87, 44, this, true)), __runInitializers(_init87, 47, this);
|
|
210484
|
+
__privateAdd(this, _disabled6, __runInitializers(_init87, 48, this, false)), __runInitializers(_init87, 51, this);
|
|
210485
|
+
__privateAdd(this, _busy3, __runInitializers(_init87, 52, this, false)), __runInitializers(_init87, 55, this);
|
|
210486
|
+
__privateAdd(this, _queuedCount2, __runInitializers(_init87, 56, this, 0)), __runInitializers(_init87, 59, this);
|
|
210487
|
+
__privateAdd(this, _composerValue, __runInitializers(_init87, 60, this, "")), __runInitializers(_init87, 63, this);
|
|
210488
|
+
__privateAdd(this, _attachments2, __runInitializers(_init87, 64, this, [])), __runInitializers(_init87, 67, this);
|
|
210489
|
+
__privateAdd(this, _model2, __runInitializers(_init87, 68, this, "")), __runInitializers(_init87, 71, this);
|
|
210490
|
+
__privateAdd(this, _modelOptions2, __runInitializers(_init87, 72, this, [])), __runInitializers(_init87, 75, this);
|
|
210491
|
+
__privateAdd(this, _reasoningEffort2, __runInitializers(_init87, 76, this, "")), __runInitializers(_init87, 79, this);
|
|
210492
|
+
__privateAdd(this, _effortOptions2, __runInitializers(_init87, 80, this, [])), __runInitializers(_init87, 83, this);
|
|
210493
|
+
__privateAdd(this, _toolRegistry4, __runInitializers(_init87, 84, this, DeesHarnessToolRegistry.default)), __runInitializers(_init87, 87, this);
|
|
210368
210494
|
}
|
|
210369
210495
|
// ---------------------------------------------------------------- methods
|
|
210370
210496
|
/** Streams an incremental update into the message list. */
|
|
@@ -210382,6 +210508,16 @@ var _DeesHarnessChat = class _DeesHarnessChat extends (_a86 = DeesElement, _mess
|
|
|
210382
210508
|
scrollToBottom(force = false) {
|
|
210383
210509
|
this.listElement?.scrollToBottom(force);
|
|
210384
210510
|
}
|
|
210511
|
+
get effectiveTodos() {
|
|
210512
|
+
if (this.todos.length) return this.todos;
|
|
210513
|
+
for (let index3 = this.messages.length - 1; index3 >= 0; index3--) {
|
|
210514
|
+
const call = this.messages[index3]?.toolCall;
|
|
210515
|
+
if (!call) continue;
|
|
210516
|
+
if (this.toolRegistry.resolve(call).kind !== "todo") continue;
|
|
210517
|
+
return harnessParseTodos(call.input);
|
|
210518
|
+
}
|
|
210519
|
+
return [];
|
|
210520
|
+
}
|
|
210385
210521
|
get listElement() {
|
|
210386
210522
|
const element4 = this.shadowRoot?.querySelector("dees-harness-message-list");
|
|
210387
210523
|
return element4 instanceof DeesHarnessMessageList ? element4 : void 0;
|
|
@@ -210394,12 +210530,19 @@ var _DeesHarnessChat = class _DeesHarnessChat extends (_a86 = DeesElement, _mess
|
|
|
210394
210530
|
render() {
|
|
210395
210531
|
return b2`
|
|
210396
210532
|
${this.showToolbar ? this.renderToolbar() : ""}
|
|
210397
|
-
<
|
|
210398
|
-
|
|
210399
|
-
|
|
210400
|
-
|
|
210401
|
-
|
|
210402
|
-
|
|
210533
|
+
<div class="chatBody">
|
|
210534
|
+
<dees-harness-message-list
|
|
210535
|
+
.messages=${this.messages}
|
|
210536
|
+
.status=${idleStatus}
|
|
210537
|
+
.showRoles=${this.showRoles}
|
|
210538
|
+
.toolRegistry=${this.toolRegistry}
|
|
210539
|
+
></dees-harness-message-list>
|
|
210540
|
+
${this.showTodosPanel && this.effectiveTodos.length ? b2`
|
|
210541
|
+
<aside class="todosPanel">
|
|
210542
|
+
<dees-harness-todos heading="Tasks" .todos=${this.effectiveTodos}></dees-harness-todos>
|
|
210543
|
+
</aside>
|
|
210544
|
+
` : ""}
|
|
210545
|
+
</div>
|
|
210403
210546
|
${this.permissions.length ? b2`
|
|
210404
210547
|
<div class="permissionQueue">
|
|
210405
210548
|
${this.permissions.map(
|
|
@@ -210465,6 +210608,8 @@ _messages2 = new WeakMap();
|
|
|
210465
210608
|
_permissions = new WeakMap();
|
|
210466
210609
|
_status6 = new WeakMap();
|
|
210467
210610
|
_usage2 = new WeakMap();
|
|
210611
|
+
_todos2 = new WeakMap();
|
|
210612
|
+
_showTodosPanel = new WeakMap();
|
|
210468
210613
|
_heading6 = new WeakMap();
|
|
210469
210614
|
_subheading = new WeakMap();
|
|
210470
210615
|
_showToolbar = new WeakMap();
|
|
@@ -210483,6 +210628,8 @@ __decorateElement(_init87, 4, "messages", _messages_dec2, _DeesHarnessChat, _mes
|
|
|
210483
210628
|
__decorateElement(_init87, 4, "permissions", _permissions_dec, _DeesHarnessChat, _permissions);
|
|
210484
210629
|
__decorateElement(_init87, 4, "status", _status_dec6, _DeesHarnessChat, _status6);
|
|
210485
210630
|
__decorateElement(_init87, 4, "usage", _usage_dec2, _DeesHarnessChat, _usage2);
|
|
210631
|
+
__decorateElement(_init87, 4, "todos", _todos_dec2, _DeesHarnessChat, _todos2);
|
|
210632
|
+
__decorateElement(_init87, 4, "showTodosPanel", _showTodosPanel_dec, _DeesHarnessChat, _showTodosPanel);
|
|
210486
210633
|
__decorateElement(_init87, 4, "heading", _heading_dec6, _DeesHarnessChat, _heading6);
|
|
210487
210634
|
__decorateElement(_init87, 4, "subheading", _subheading_dec, _DeesHarnessChat, _subheading);
|
|
210488
210635
|
__decorateElement(_init87, 4, "showToolbar", _showToolbar_dec, _DeesHarnessChat, _showToolbar);
|
|
@@ -210513,6 +210660,32 @@ __publicField(_DeesHarnessChat, "styles", [
|
|
|
210513
210660
|
font-family: var(--dees-font-family);
|
|
210514
210661
|
color: var(--dees-color-text-primary);
|
|
210515
210662
|
background: var(--dees-color-bg-primary);
|
|
210663
|
+
container-type: inline-size;
|
|
210664
|
+
}
|
|
210665
|
+
|
|
210666
|
+
.chatBody {
|
|
210667
|
+
flex: 1;
|
|
210668
|
+
min-height: 0;
|
|
210669
|
+
display: flex;
|
|
210670
|
+
}
|
|
210671
|
+
|
|
210672
|
+
.todosPanel {
|
|
210673
|
+
flex: 0 0 232px;
|
|
210674
|
+
min-width: 0;
|
|
210675
|
+
overflow-y: auto;
|
|
210676
|
+
scrollbar-width: thin;
|
|
210677
|
+
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
|
|
210678
|
+
padding: var(--dees-spacing-sm) var(--dees-spacing-md);
|
|
210679
|
+
border-left: 1px solid var(--dees-color-border-subtle);
|
|
210680
|
+
background: var(--dees-color-bg-secondary);
|
|
210681
|
+
}
|
|
210682
|
+
|
|
210683
|
+
/* narrow hosts (e.g. a sidebar chat) drop the panel; todo tool cards
|
|
210684
|
+
in the transcript still carry the same information */
|
|
210685
|
+
@container (max-width: 520px) {
|
|
210686
|
+
.todosPanel {
|
|
210687
|
+
display: none;
|
|
210688
|
+
}
|
|
210516
210689
|
}
|
|
210517
210690
|
|
|
210518
210691
|
.toolbar {
|
|
@@ -210555,7 +210728,7 @@ __publicField(_DeesHarnessChat, "styles", [
|
|
|
210555
210728
|
flex: 0 0 auto;
|
|
210556
210729
|
}
|
|
210557
210730
|
|
|
210558
|
-
dees-harness-message-list {
|
|
210731
|
+
.chatBody dees-harness-message-list {
|
|
210559
210732
|
flex: 1;
|
|
210560
210733
|
min-height: 0;
|
|
210561
210734
|
}
|