dsh-edge 0.9.0 → 0.10.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/THIRD_PARTY_NOTICES.md +1318 -1075
- package/dist/assets/index-Df-65__b.js +110 -0
- package/dist/assets/index-b24khbeK.css +1 -0
- package/dist/assets/langs/{php-DDkx9sim.js → php-DJl5gRdb.js} +2 -2
- package/dist/assets/langs/{ruby-DCxyoPen.js → ruby-5eNB0pDK.js} +2 -2
- package/dist/assets/vendor-BNsW4eBh.css +1 -0
- package/dist/assets/vendor-CCJJTK99.js +411 -0
- package/dist/index.html +8 -8
- package/dist/plugins/@deepseek-ai/dsh-api-gateway/client.js +1513 -77
- package/dist/plugins/@deepseek-ai/dsh-api-remotes/client.js +3608 -757
- package/dist/plugins/@deepseek-ai/dsh-api-session-controller/client.js +2777 -0
- package/dist/plugins/@deepseek-ai/dsh-api-workspace-controller/client.js +415 -0
- package/dist/plugins/@deepseek-ai/dsh-client-connection/client.js +1975 -7466
- package/dist/plugins/@deepseek-ai/dsh-client-locale/client.js +225 -76
- package/dist/plugins/@deepseek-ai/dsh-client-modules/client.js +67 -15
- package/dist/plugins/@deepseek-ai/dsh-client-ui-agent-preset/client.js +270 -460
- package/dist/plugins/@deepseek-ai/dsh-client-ui-approval/client.js +292 -0
- package/dist/plugins/@deepseek-ai/dsh-client-ui-attachment/client.js +42 -17
- package/dist/plugins/@deepseek-ai/dsh-client-ui-brand-official/client.js +7 -9
- package/dist/plugins/@deepseek-ai/dsh-client-ui-chat/client.js +8177 -0
- package/dist/plugins/@deepseek-ai/dsh-client-ui-commands/client.js +22 -10
- package/dist/plugins/@deepseek-ai/dsh-client-ui-conversation/client.js +14950 -8910
- package/dist/plugins/@deepseek-ai/dsh-client-ui-deliverables/client.js +161 -137
- package/dist/plugins/@deepseek-ai/dsh-client-ui-goal/client.js +6 -7
- package/dist/plugins/@deepseek-ai/dsh-client-ui-input-trigger/client.js +268 -40
- package/dist/plugins/@deepseek-ai/dsh-client-ui-jobs/client.js +1 -1
- package/dist/plugins/@deepseek-ai/dsh-client-ui-layout/client.js +45 -11
- package/dist/plugins/@deepseek-ai/dsh-client-ui-message-feedback/client.js +30 -58
- package/dist/plugins/@deepseek-ai/dsh-client-ui-model-selection/client.js +188 -89
- package/dist/plugins/@deepseek-ai/dsh-client-ui-permission-presets/client.js +105 -75
- package/dist/plugins/@deepseek-ai/dsh-client-ui-renderer/client.js +650 -188
- package/dist/plugins/@deepseek-ai/dsh-client-ui-schedule/client.js +307 -0
- package/dist/plugins/@deepseek-ai/dsh-client-ui-session/client.js +340 -0
- package/dist/plugins/@deepseek-ai/dsh-client-ui-settings/client.js +57 -50
- package/dist/plugins/@deepseek-ai/dsh-client-ui-settings-general/client.js +134 -69
- package/dist/plugins/@deepseek-ai/dsh-client-ui-settings-models/client.js +575 -442
- package/dist/plugins/@deepseek-ai/dsh-client-ui-sidebar/client.js +24 -11
- package/dist/plugins/@deepseek-ai/dsh-client-ui-skill/client.js +13 -9
- package/dist/plugins/@deepseek-ai/dsh-client-ui-subagent/client.js +44 -20
- package/dist/plugins/@deepseek-ai/dsh-client-ui-theme/client.js +265 -94
- package/dist/plugins/@deepseek-ai/dsh-client-ui-tool/client.js +899 -433
- package/dist/plugins/@deepseek-ai/dsh-client-ui-trajectory/client.js +1472 -613
- package/dist/plugins/@deepseek-ai/dsh-client-ui-user-questions/client.js +249 -95
- package/dist/plugins/@deepseek-ai/dsh-client-ui-workflow-run/client.js +5 -5
- package/dist/plugins/@deepseek-ai/dsh-client-ui-workspace/client.js +425 -146
- package/dist/plugins/@deepseek-ai/dsh-typert-registry/client.js +29 -14
- package/dist/plugins/dsh-edge-client-ui/client.js +28 -26
- package/package.json +62 -58
- package/scripts/verify-packed.mjs +1 -1
- package/worker/direct/index.js +2866 -1466
- package/worker/isolated/index.js +2438 -1038
- package/dist/assets/index-C6eRlFa6.css +0 -1
- package/dist/assets/index-ClqxG24t.js +0 -96
- package/dist/assets/vendor-CjyC-hUb.css +0 -1
- package/dist/assets/vendor-D22_Mp1f.js +0 -411
- package/dist/plugins/@deepseek-ai/dsh-client-runtime/client.js +0 -10574
|
@@ -6,7 +6,7 @@ window.__ModuleLoader__.load({
|
|
|
6
6
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
7
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
8
|
let react = require("react");
|
|
9
|
-
let
|
|
9
|
+
let _deepseek_ai_dsh_client_store = require("@deepseek-ai/dsh-client-store");
|
|
10
10
|
/** Viewport width below which the sidebar auto-collapses to the rail (deepsuite
|
|
11
11
|
* LG breakpoint); a manual toggle below it re-expands over the squeezed center
|
|
12
12
|
* (stores.ts narrowExpanded). */
|
|
@@ -52,8 +52,25 @@ window.__ModuleLoader__.load({
|
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
//#endregion
|
|
55
|
+
//#region lib/types/client/DocumentTitle.js
|
|
56
|
+
/**
|
|
57
|
+
* Project the selected durable session title into the browser title and
|
|
58
|
+
* restore the build-selected product title when unmounted.
|
|
59
|
+
* @param props - Selected session title projection.
|
|
60
|
+
* @returns No rendered content.
|
|
61
|
+
*/
|
|
62
|
+
function DocumentTitle({ title, productTitle }) {
|
|
63
|
+
(0, react.useEffect)(() => {
|
|
64
|
+
document.title = title === void 0 ? productTitle : `${title} — ${productTitle}`;
|
|
65
|
+
return () => {
|
|
66
|
+
document.title = productTitle;
|
|
67
|
+
};
|
|
68
|
+
}, [productTitle, title]);
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
55
72
|
//#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-layout/src/client/AppFrame.module.css.mjs
|
|
56
|
-
const css = ".pI_x6G_frame{background:var(--dsw-alias-bg-base);height:100%;transition:grid-template-columns var(--ds-transition-duration-slow) var(--ds-ease-in-out);grid-template-rows:100%;display:grid;position:relative;overflow:hidden}.pI_x6G_frame[data-dragging]{transition:none}@media (prefers-reduced-motion:reduce){.pI_x6G_frame{transition:none}}.pI_x6G_sidebarCol{background:var(--dsw-specific-sidebar-fill);border-right
|
|
73
|
+
const css = ".pI_x6G_frame{background:var(--dsw-alias-bg-base);height:100%;transition:grid-template-columns var(--ds-transition-duration-slow) var(--ds-ease-in-out);grid-template-rows:100%;display:grid;position:relative;overflow:hidden}.pI_x6G_frame[data-dragging]{transition:none}@media (prefers-reduced-motion:reduce){.pI_x6G_frame{transition:none}}.pI_x6G_sidebarCol{background:var(--dsw-specific-sidebar-fill);border-right:.5px solid var(--dsw-alias-border-l3);min-width:0;overflow:hidden}.pI_x6G_centerCol{flex-direction:column;min-width:0;display:flex;overflow:hidden}.pI_x6G_detailsCol{border-left:.5px solid var(--dsw-alias-border-l3);min-width:0;overflow:hidden}.pI_x6G_frame[data-details-collapsed] .pI_x6G_detailsCol{border-left:none}.pI_x6G_handle{cursor:col-resize;z-index:2;touch-action:none;width:8px;transition:left var(--ds-transition-duration-slow) var(--ds-ease-in-out);margin-left:-4px;position:absolute;top:0;bottom:0}.pI_x6G_frame[data-dragging] .pI_x6G_handle{transition:none}@media (prefers-reduced-motion:reduce){.pI_x6G_handle{transition:none}}.pI_x6G_handle[data-side=details]:after{content:\"\";box-sizing:border-box;background:var(--dsw-alias-button-floating-fill);border:.5px solid var(--dsw-alias-border-l2-darkmode-thin);opacity:0;width:12px;height:32px;transition:opacity var(--ds-transition-duration-slow) var(--ds-ease-in-out), background var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pI_x6G_detailsCol:hover~.pI_x6G_handle[data-side=details]:after,.pI_x6G_handle[data-side=details]:hover:after,.pI_x6G_handle[data-side=details][data-dragging=true]:after{opacity:1}.pI_x6G_handle[data-side=details]:hover:after,.pI_x6G_handle[data-side=details][data-dragging=true]:after{background:var(--dsw-alias-button-floating-hover);border-color:var(--dsw-alias-border-l3)}.pI_x6G_overlayLayer{z-index:20;pointer-events:none;position:absolute;inset:0}.pI_x6G_overlayLayer>*{pointer-events:auto}";
|
|
57
74
|
const tagId = "@deepseek-ai/dsh-client-ui-layout/AppFrame.module.css";
|
|
58
75
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
59
76
|
const tag = document.createElement("style");
|
|
@@ -155,12 +172,16 @@ window.__ModuleLoader__.load({
|
|
|
155
172
|
});
|
|
156
173
|
}
|
|
157
174
|
/** The three-column frame (see module doc). */
|
|
158
|
-
function AppFrame({ useStore, useSessions, actions, renderSlot }) {
|
|
175
|
+
function AppFrame({ useStore, useSessions, actions, renderSlot, SessionProvider, t }) {
|
|
159
176
|
const panels = useStore((s) => s);
|
|
160
177
|
const detailsSession = useSessions((s) => {
|
|
161
178
|
const current = s.current;
|
|
162
179
|
return current !== void 0 && s.byId[current]?.blank === false ? current : void 0;
|
|
163
180
|
});
|
|
181
|
+
const documentTitle = useSessions((s) => {
|
|
182
|
+
const current = s.current;
|
|
183
|
+
return current === void 0 ? void 0 : s.byId[current]?.title;
|
|
184
|
+
});
|
|
164
185
|
const frameRef = (0, react.useRef)(null);
|
|
165
186
|
const [viewport, setViewport] = (0, react.useState)(() => window.innerWidth);
|
|
166
187
|
const lastSession = (0, react.useRef)(detailsSession);
|
|
@@ -223,6 +244,10 @@ window.__ModuleLoader__.load({
|
|
|
223
244
|
"data-details-collapsed": cols.details === 0 || void 0,
|
|
224
245
|
"data-dragging": dragging || void 0,
|
|
225
246
|
children: [
|
|
247
|
+
(0, react_jsx_runtime.jsx)(DocumentTitle, {
|
|
248
|
+
productTitle: "DeepSeek Harness",
|
|
249
|
+
...documentTitle === void 0 ? {} : { title: documentTitle }
|
|
250
|
+
}),
|
|
226
251
|
(0, react_jsx_runtime.jsx)("div", {
|
|
227
252
|
className: AppFrame_module_css_default.sidebarCol,
|
|
228
253
|
children: renderSlot("sidebar", {
|
|
@@ -230,7 +255,7 @@ window.__ModuleLoader__.load({
|
|
|
230
255
|
width: cols.sidebar
|
|
231
256
|
})
|
|
232
257
|
}),
|
|
233
|
-
(0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react_jsx_runtime.jsx)(CenterColumn, { children: renderSlot("conversation", {}) }), (0, react_jsx_runtime.jsx)(DetailsColumn, { children: renderSlot("details", {}) })] }),
|
|
258
|
+
(0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react_jsx_runtime.jsx)(CenterColumn, { children: renderSlot("conversation", {}) }), (0, react_jsx_runtime.jsx)(DetailsColumn, { children: (0, react_jsx_runtime.jsx)(SessionProvider, { children: renderSlot("details", {}) }) })] }),
|
|
234
259
|
(0, react_jsx_runtime.jsx)("div", {
|
|
235
260
|
className: AppFrame_module_css_default.overlayLayer,
|
|
236
261
|
"data-shell-overlay": true,
|
|
@@ -275,7 +300,7 @@ window.__ModuleLoader__.load({
|
|
|
275
300
|
* @returns the store handle (spec + type + identity + factory in one).
|
|
276
301
|
*/
|
|
277
302
|
function createLayoutStore() {
|
|
278
|
-
return (0,
|
|
303
|
+
return (0, _deepseek_ai_dsh_client_store.defineStore)({
|
|
279
304
|
init: () => ({
|
|
280
305
|
sidebar: 280,
|
|
281
306
|
details: 0,
|
|
@@ -343,6 +368,8 @@ window.__ModuleLoader__.load({
|
|
|
343
368
|
//#region lib/types/client/theme-presenter.js
|
|
344
369
|
/** Body attribute selecting the dark base palette in the token stylesheets. */
|
|
345
370
|
const DARK_ATTRIBUTE = "data-ds-dark-theme";
|
|
371
|
+
/** Body variable carrying the user's content font size in px. */
|
|
372
|
+
const CONTENT_FONT_SIZE_VARIABLE = "--dsh-content-font-size";
|
|
346
373
|
/** Applies theme snapshots to the document; one instance per plugin fiber. */
|
|
347
374
|
var ThemePresenter = class {
|
|
348
375
|
/** Token names this presenter wrote in the last apply (its retraction set). */
|
|
@@ -357,10 +384,10 @@ window.__ModuleLoader__.load({
|
|
|
357
384
|
/**
|
|
358
385
|
* Project a snapshot onto the document: set root `color-scheme` and the body
|
|
359
386
|
* palette attribute from `active.colorScheme` (never the id — `system` is
|
|
360
|
-
* resolved upstream),
|
|
361
|
-
* with `active.tokens`. Browser
|
|
362
|
-
*
|
|
363
|
-
* color authority.
|
|
387
|
+
* resolved upstream), publish the content font-size axis, then replace the
|
|
388
|
+
* previously applied token variables with `active.tokens`. Browser
|
|
389
|
+
* theme-color metadata follows the computed body background after those
|
|
390
|
+
* writes, so the rendered palette remains the color authority.
|
|
364
391
|
* @param snapshot - resolved theme snapshot from ctx.theme.
|
|
365
392
|
*/
|
|
366
393
|
apply(snapshot) {
|
|
@@ -369,6 +396,7 @@ window.__ModuleLoader__.load({
|
|
|
369
396
|
const body = document.body;
|
|
370
397
|
if (scheme === "dark") body.setAttribute(DARK_ATTRIBUTE, "");
|
|
371
398
|
else body.removeAttribute(DARK_ATTRIBUTE);
|
|
399
|
+
body.style.setProperty(CONTENT_FONT_SIZE_VARIABLE, `${snapshot.fontSize}px`);
|
|
372
400
|
for (const name of this.appliedTokens) body.style.removeProperty(name);
|
|
373
401
|
this.appliedTokens = [];
|
|
374
402
|
for (const [name, value] of Object.entries(snapshot.active.tokens)) {
|
|
@@ -378,11 +406,12 @@ window.__ModuleLoader__.load({
|
|
|
378
406
|
this.themeColorMeta.content = getComputedStyle(body).backgroundColor;
|
|
379
407
|
if (!this.themeColorMeta.isConnected) document.head.append(this.themeColorMeta);
|
|
380
408
|
}
|
|
381
|
-
/** Retract root color-scheme, the palette attribute, token variables, and the owned metadata node. */
|
|
409
|
+
/** Retract root color-scheme, the palette attribute, token variables, the font-size axis, and the owned metadata node. */
|
|
382
410
|
dispose() {
|
|
383
411
|
document.documentElement.style.removeProperty("color-scheme");
|
|
384
412
|
const body = document.body;
|
|
385
413
|
body.removeAttribute(DARK_ATTRIBUTE);
|
|
414
|
+
body.style.removeProperty(CONTENT_FONT_SIZE_VARIABLE);
|
|
386
415
|
for (const name of this.appliedTokens) body.style.removeProperty(name);
|
|
387
416
|
this.appliedTokens = [];
|
|
388
417
|
this.themeColorMeta.remove();
|
|
@@ -391,7 +420,11 @@ window.__ModuleLoader__.load({
|
|
|
391
420
|
//#endregion
|
|
392
421
|
//#region lib/types/client/index.js
|
|
393
422
|
/** Required services (cordis fiber inject — the loader passes all module exports as an object plugin). */
|
|
394
|
-
const inject = [
|
|
423
|
+
const inject = [
|
|
424
|
+
"slots",
|
|
425
|
+
"theme",
|
|
426
|
+
"locale"
|
|
427
|
+
];
|
|
395
428
|
/**
|
|
396
429
|
* Client plugin body: provide ctx.layout, then one register() call — AppFrame
|
|
397
430
|
* into 'root' with the four child-slot declarations, the layout store seat,
|
|
@@ -404,6 +437,7 @@ window.__ModuleLoader__.load({
|
|
|
404
437
|
const disposeService = ctx.reflect.provide("layout", layout);
|
|
405
438
|
const disposeRegistration = ctx.slots.register({
|
|
406
439
|
name: "root",
|
|
440
|
+
locale: "common",
|
|
407
441
|
children: {
|
|
408
442
|
"sidebar": {
|
|
409
443
|
kind: "single",
|
|
@@ -58,7 +58,7 @@ window.__ModuleLoader__.load({
|
|
|
58
58
|
* control in that Session, so a single list read seeds them all.
|
|
59
59
|
*/
|
|
60
60
|
var MessageFeedbackController = class {
|
|
61
|
-
|
|
61
|
+
ctx;
|
|
62
62
|
sessionId;
|
|
63
63
|
view = INITIAL_VIEW;
|
|
64
64
|
listeners = /* @__PURE__ */ new Set();
|
|
@@ -66,11 +66,11 @@ window.__ModuleLoader__.load({
|
|
|
66
66
|
operationTail = Promise.resolve();
|
|
67
67
|
disposed = false;
|
|
68
68
|
/**
|
|
69
|
-
* @param
|
|
69
|
+
* @param ctx - the browser plugin context carrying the messageFeedback Remote namespace.
|
|
70
70
|
* @param sessionId - Session owning every addressed assistant message.
|
|
71
71
|
*/
|
|
72
|
-
constructor(
|
|
73
|
-
this.
|
|
72
|
+
constructor(ctx, sessionId) {
|
|
73
|
+
this.ctx = ctx;
|
|
74
74
|
this.sessionId = sessionId;
|
|
75
75
|
}
|
|
76
76
|
/** Return the cached immutable view. */
|
|
@@ -185,7 +185,7 @@ window.__ModuleLoader__.load({
|
|
|
185
185
|
}
|
|
186
186
|
/** Commit one put against the observed version and reconcile a conflict. */
|
|
187
187
|
async putCommitted(messageId, rating, note, observed) {
|
|
188
|
-
const carried = await this.remote.put({
|
|
188
|
+
const carried = await this.ctx.remote.messageFeedback.put({
|
|
189
189
|
sessionId: this.sessionId,
|
|
190
190
|
messageId,
|
|
191
191
|
rating,
|
|
@@ -203,7 +203,7 @@ window.__ModuleLoader__.load({
|
|
|
203
203
|
}
|
|
204
204
|
/** Commit one delete against the observed version and reconcile a conflict. */
|
|
205
205
|
async deleteCommitted(messageId, observed) {
|
|
206
|
-
const carried = await this.remote.delete({
|
|
206
|
+
const carried = await this.ctx.remote.messageFeedback.delete({
|
|
207
207
|
sessionId: this.sessionId,
|
|
208
208
|
messageId,
|
|
209
209
|
ifVersion: observed.version
|
|
@@ -224,55 +224,37 @@ window.__ModuleLoader__.load({
|
|
|
224
224
|
}
|
|
225
225
|
/** Fetch the whole sidecar and publish it as the seeded view. */
|
|
226
226
|
async load() {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
if (!carried.ok) {
|
|
231
|
-
this.publish({
|
|
232
|
-
status: "error",
|
|
233
|
-
items: this.view.items,
|
|
234
|
-
error: carried.error.message
|
|
235
|
-
});
|
|
236
|
-
return carrierFailure(carried.error);
|
|
237
|
-
}
|
|
238
|
-
const result = carried.value;
|
|
239
|
-
if (!result.ok) {
|
|
240
|
-
this.publish({
|
|
241
|
-
status: "error",
|
|
242
|
-
items: this.view.items,
|
|
243
|
-
error: describe(result.error.code)
|
|
244
|
-
});
|
|
245
|
-
return fail(result.error.code);
|
|
246
|
-
}
|
|
247
|
-
const items = /* @__PURE__ */ new Map();
|
|
248
|
-
for (const item of result.value.items) items.set(item.messageId, item);
|
|
227
|
+
const carried = await this.ctx.remote.messageFeedback.list({ sessionId: this.sessionId });
|
|
228
|
+
if (this.disposed) return OK;
|
|
229
|
+
if (!carried.ok) {
|
|
249
230
|
this.publish({
|
|
250
|
-
status: "
|
|
251
|
-
items,
|
|
252
|
-
error:
|
|
231
|
+
status: "error",
|
|
232
|
+
items: this.view.items,
|
|
233
|
+
error: carried.error.message
|
|
253
234
|
});
|
|
254
|
-
return
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
|
|
235
|
+
return carrierFailure(carried.error);
|
|
236
|
+
}
|
|
237
|
+
const result = carried.value;
|
|
238
|
+
if (!result.ok) {
|
|
258
239
|
this.publish({
|
|
259
240
|
status: "error",
|
|
260
241
|
items: this.view.items,
|
|
261
|
-
error:
|
|
242
|
+
error: describe(result.error.code)
|
|
262
243
|
});
|
|
263
|
-
return
|
|
264
|
-
ok: false,
|
|
265
|
-
error: {
|
|
266
|
-
code: "transport",
|
|
267
|
-
message
|
|
268
|
-
}
|
|
269
|
-
};
|
|
244
|
+
return fail(result.error.code);
|
|
270
245
|
}
|
|
246
|
+
const items = /* @__PURE__ */ new Map();
|
|
247
|
+
for (const item of result.value.items) items.set(item.messageId, item);
|
|
248
|
+
this.publish({
|
|
249
|
+
status: "ready",
|
|
250
|
+
items,
|
|
251
|
+
error: null
|
|
252
|
+
});
|
|
253
|
+
return OK;
|
|
271
254
|
}
|
|
272
255
|
/**
|
|
273
256
|
* Serialize one mutation behind this Session's prior mutation so queued
|
|
274
|
-
* operations always compare against the committed version
|
|
275
|
-
* transport throw into the same settled shape the controls already render.
|
|
257
|
+
* operations always compare against the committed version.
|
|
276
258
|
*/
|
|
277
259
|
mutate(operation, options = {}) {
|
|
278
260
|
const guarded = async () => {
|
|
@@ -282,17 +264,7 @@ window.__ModuleLoader__.load({
|
|
|
282
264
|
if (!loaded.ok) return loaded;
|
|
283
265
|
if (this.disposed) return DISPOSED;
|
|
284
266
|
}
|
|
285
|
-
|
|
286
|
-
return await operation();
|
|
287
|
-
} catch (error) {
|
|
288
|
-
return {
|
|
289
|
-
ok: false,
|
|
290
|
-
error: {
|
|
291
|
-
code: "transport",
|
|
292
|
-
message: error instanceof Error ? error.message : "message feedback mutation failed"
|
|
293
|
-
}
|
|
294
|
-
};
|
|
295
|
-
}
|
|
267
|
+
return await operation();
|
|
296
268
|
};
|
|
297
269
|
const result = this.operationTail.then(guarded, guarded);
|
|
298
270
|
this.operationTail = result.then(() => void 0);
|
|
@@ -326,7 +298,7 @@ window.__ModuleLoader__.load({
|
|
|
326
298
|
};
|
|
327
299
|
//#endregion
|
|
328
300
|
//#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-message-feedback/src/client/MessageFeedbackActions.module.css.mjs
|
|
329
|
-
const css = "._8_XoUG_action{width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:6px;display:inline-flex}._8_XoUG_action:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}._8_XoUG_action:disabled{cursor:default;opacity:.4}._8_XoUG_action[data-active]{color:var(--dsw-alias-label-primary)}._8_XoUG_noteOpen{max-width:220px;color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;border-radius:14px;padding:0 8px;
|
|
301
|
+
const css = "._8_XoUG_action{width:calc(28px + var(--dsh-content-font-delta,0px));height:calc(28px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:6px;display:inline-flex}._8_XoUG_action svg{width:calc(15px + var(--dsh-content-font-delta,0px));height:calc(15px + var(--dsh-content-font-delta,0px))}._8_XoUG_action:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}._8_XoUG_action:disabled{cursor:default;opacity:.4}._8_XoUG_action[data-active]{color:var(--dsw-alias-label-primary)}._8_XoUG_noteOpen{max-width:220px;color:var(--dsw-alias-label-tertiary);font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(28px + var(--dsh-content-font-delta,0px));white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;border-radius:14px;padding:0 8px;overflow:hidden}._8_XoUG_noteOpen:hover,._8_XoUG_noteOpen[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}._8_XoUG_notePanel{z-index:1100;box-sizing:border-box;background:var(--dsw-specific-menu);--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);width:320px;max-width:min(360px,100vw - 24px);max-height:calc(100vh - 24px);box-shadow:var(--dsw-elevation-prominent);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border:0;border-radius:12px;flex-direction:column;gap:8px;padding:8px;display:flex;position:fixed;overflow-y:auto}._8_XoUG_noteInput{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);background:var(--dsw-alias-bg-layer-1);width:100%;color:var(--dsw-alias-label-primary);font:inherit;resize:vertical;border-radius:8px;padding:6px 8px;font-size:13px}._8_XoUG_noteActions{justify-content:flex-end;gap:6px;display:flex}._8_XoUG_noteSave,._8_XoUG_noteCancel{cursor:pointer;border:none;border-radius:14px;height:28px;padding:0 10px;font-size:13px}._8_XoUG_noteSave{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-foreground)}._8_XoUG_noteSave:hover:not(:disabled){background:var(--dsw-alias-button-primary-hover)}._8_XoUG_noteSave:disabled{cursor:default;opacity:.4}._8_XoUG_noteCancel{color:var(--dsw-alias-label-tertiary);background:0 0}._8_XoUG_noteCancel:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}._8_XoUG_failure{color:var(--dsw-alias-label-tertiary);padding-left:4px;font-size:13px;line-height:20px}";
|
|
330
302
|
const tagId = "@deepseek-ai/dsh-client-ui-message-feedback/MessageFeedbackActions.module.css";
|
|
331
303
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
332
304
|
const tag = document.createElement("style");
|
|
@@ -684,7 +656,7 @@ window.__ModuleLoader__.load({
|
|
|
684
656
|
const controllerFor = (sessionId) => {
|
|
685
657
|
let controller = controllers.get(sessionId);
|
|
686
658
|
if (controller === void 0) {
|
|
687
|
-
controller = new MessageFeedbackController(ctx
|
|
659
|
+
controller = new MessageFeedbackController(ctx, sessionId);
|
|
688
660
|
controllers.set(sessionId, controller);
|
|
689
661
|
}
|
|
690
662
|
return controller;
|