@khorsheed/dsh-local-agent 0.2.0-rc.3 → 0.2.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/CHANGELOG.md +19 -1
- package/README.en.md +23 -164
- package/README.i18n.yaml +2 -2
- package/README.md +23 -164
- package/lib/client.js +373 -133
- package/lib/index.js +483 -14
- package/lib/member-bridge.js +195 -25
- package/lib/typert.host.js +107 -15
- package/lib/typert.remote-client.js +4 -4
- package/lib/types/client/HarnessModelPicker.d.ts +21 -1
- package/lib/types/client/HarnessModelPicker.js +31 -3
- package/lib/types/client/MemberLiveNode.js +38 -4
- package/lib/types/client/icons.d.ts +2 -1
- package/lib/types/client/icons.js +1 -0
- package/lib/types/client/index.js +16 -2
- package/lib/types/client/locales.d.ts +1 -1
- package/lib/types/client/locales.js +2 -2
- package/lib/types/client/model-directory-scope.d.ts +14 -0
- package/lib/types/client/model-directory-scope.js +20 -0
- package/lib/types/index.d.ts +18 -2
- package/lib/types/index.js +81 -14
- package/lib/types/live-stream.d.ts +11 -0
- package/lib/types/live-stream.js +26 -0
- package/lib/types/member-bridge.d.ts +11 -1
- package/lib/types/member-bridge.js +81 -13
- package/lib/types/member-channel.d.ts +44 -1
- package/lib/types/member-channel.js +65 -2
- package/lib/types/mode-skills.d.ts +18 -0
- package/lib/types/mode-skills.js +56 -0
- package/lib/types/preset-tool-host.d.ts +70 -0
- package/lib/types/preset-tool-host.js +210 -0
- package/lib/types/types.d.ts +27 -2
- package/package.json +5 -1
package/lib/client.js
CHANGED
|
@@ -167,27 +167,27 @@ window.__ModuleLoader__.load({
|
|
|
167
167
|
};
|
|
168
168
|
//#endregion
|
|
169
169
|
//#region \0dsh-css:src/client/MemberConfiguration.module.css.mjs
|
|
170
|
-
const css$
|
|
171
|
-
const tagId$
|
|
172
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
170
|
+
const css$7 = ".pkplGa_root{min-width:0;color:var(--dsw-alias-label-primary,#1f2329);font-size:13px;line-height:20px;position:relative}.pkplGa_root>summary{cursor:pointer;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;max-width:280px;min-height:30px;color:var(--dsw-alias-label-secondary,#81858c);border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:4px 10px;list-style:none;transition:background .12s,border-color .12s;display:flex;overflow:hidden}.pkplGa_triggerLabel{text-overflow:ellipsis;min-width:0;overflow:hidden}.pkplGa_root>summary::-webkit-details-marker{display:none}.pkplGa_root>summary:after{content:\"\";border-bottom:1.5px solid;border-right:1.5px solid;flex:0 0 5px;height:5px;margin:-3px 2px 0 auto;transform:rotate(45deg)}.pkplGa_root[open]>summary,.pkplGa_root>summary:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1a);color:var(--dsw-alias-label-primary,#1f2329)}.pkplGa_root[open]>summary:after{margin-top:3px;transform:rotate(225deg)}.pkplGa_settings>summary{border-color:var(--dsw-alias-border-l2,#7f7f7f33)}.pkplGa_root>summary:focus-visible,.pkplGa_panel button:focus-visible,.pkplGa_fields input:focus-visible{outline:2px solid var(--dsw-alias-label-secondary,#81858c);outline-offset:2px}.pkplGa_panel{z-index:20;overscroll-behavior:contain;box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2,#7f7f7f33);background:var(--dsw-specific-menu,var(--dsw-alias-bg-layer-2,#fff));width:min(300px,100vw - 32px);max-height:min(400px,65vh);backdrop-filter:var(--dsw-menu-backdrop-filter,blur(20px));border-radius:12px;flex-direction:column;gap:8px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.pkplGa_settings .pkplGa_panel{inset:calc(100% + 6px) auto auto 0}.pkplGa_fields{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.pkplGa_fields input{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2,#7f7f7f33);width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border-radius:7px;margin:2px 0 4px;padding:7px 9px}.pkplGa_actions{flex-wrap:wrap;gap:6px;display:flex}.pkplGa_panel button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:7px 10px}.pkplGa_panel button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1a)}.pkplGa_panel button[aria-selected=true]{background:var(--dsw-alias-interactive-bg-active,#7f7f7f29)}.pkplGa_panel button:disabled{cursor:default;opacity:.5}.pkplGa_menuRow{text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:36px;display:flex}.pkplGa_menuRow span:last-child{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-secondary,#81858c);overflow:hidden}.pkplGa_back{align-self:flex-start}.pkplGa_candidates{overscroll-behavior:contain;flex-direction:column;gap:2px;max-height:260px;display:flex;overflow-y:auto}.pkplGa_candidates button{text-align:left;overflow-wrap:anywhere;white-space:normal;flex-direction:column;flex-shrink:0;gap:1px;display:flex}.pkplGa_optionLabel{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.pkplGa_candidates strong{font-weight:500}.pkplGa_check{flex-shrink:0}.pkplGa_panel small{color:var(--dsw-alias-label-secondary,#81858c);font-size:12px}.pkplGa_panel>small,.pkplGa_fields>small{padding:2px 8px}";
|
|
171
|
+
const tagId$7 = "@khorsheed/dsh-local-agent/MemberConfiguration.module.css";
|
|
172
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$7) + "]") === null) {
|
|
173
173
|
const tag = document.createElement("style");
|
|
174
174
|
tag.dataset.plugin = "@khorsheed/dsh-local-agent";
|
|
175
|
-
tag.dataset.pluginCss = tagId$
|
|
176
|
-
tag.textContent = css$
|
|
175
|
+
tag.dataset.pluginCss = tagId$7;
|
|
176
|
+
tag.textContent = css$7;
|
|
177
177
|
document.head.appendChild(tag);
|
|
178
178
|
}
|
|
179
179
|
var MemberConfiguration_module_css_default = {
|
|
180
|
-
"
|
|
181
|
-
"candidates": "pkplGa_candidates",
|
|
180
|
+
"triggerLabel": "pkplGa_triggerLabel",
|
|
182
181
|
"actions": "pkplGa_actions",
|
|
183
|
-
"fields": "pkplGa_fields",
|
|
184
|
-
"menuRow": "pkplGa_menuRow",
|
|
185
|
-
"check": "pkplGa_check",
|
|
186
|
-
"panel": "pkplGa_panel",
|
|
187
182
|
"root": "pkplGa_root",
|
|
188
|
-
"
|
|
183
|
+
"fields": "pkplGa_fields",
|
|
184
|
+
"optionLabel": "pkplGa_optionLabel",
|
|
185
|
+
"candidates": "pkplGa_candidates",
|
|
189
186
|
"settings": "pkplGa_settings",
|
|
190
|
-
"
|
|
187
|
+
"panel": "pkplGa_panel",
|
|
188
|
+
"menuRow": "pkplGa_menuRow",
|
|
189
|
+
"back": "pkplGa_back",
|
|
190
|
+
"check": "pkplGa_check"
|
|
191
191
|
};
|
|
192
192
|
//#endregion
|
|
193
193
|
//#region src/client/ModelConfigurationFields.tsx
|
|
@@ -394,9 +394,10 @@ window.__ModuleLoader__.load({
|
|
|
394
394
|
//#endregion
|
|
395
395
|
//#region src/client/HarnessModelPicker.tsx
|
|
396
396
|
/** Discover while expanded or resolving an empty choice; settings remain caller-owned drafts. */
|
|
397
|
-
function HarnessModelPicker({ face, value, onChange, disabled, t }) {
|
|
397
|
+
function HarnessModelPicker({ face, value, onChange, effort, disabled, fields, t }) {
|
|
398
398
|
const menu = useConfigurationMenu("below");
|
|
399
|
-
const {
|
|
399
|
+
const { setOpen } = menu;
|
|
400
|
+
const open = menu.open || fields !== void 0;
|
|
400
401
|
const [surface, setSurface] = (0, react.useState)();
|
|
401
402
|
const directory = surface?.face === face ? surface.directory : void 0;
|
|
402
403
|
const currentFace = (0, react.useRef)(face);
|
|
@@ -446,6 +447,16 @@ window.__ModuleLoader__.load({
|
|
|
446
447
|
onChange
|
|
447
448
|
]);
|
|
448
449
|
const entry = directory?.entries.find((entry) => entry.value === value);
|
|
450
|
+
if (fields !== void 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModelSelects, {
|
|
451
|
+
directory,
|
|
452
|
+
error,
|
|
453
|
+
value,
|
|
454
|
+
onChange,
|
|
455
|
+
effort,
|
|
456
|
+
disabled,
|
|
457
|
+
classes: fields,
|
|
458
|
+
t
|
|
459
|
+
});
|
|
449
460
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("details", {
|
|
450
461
|
ref: menu.root,
|
|
451
462
|
className: `${MemberConfiguration_module_css_default.root} ${MemberConfiguration_module_css_default.settings}`,
|
|
@@ -478,13 +489,17 @@ window.__ModuleLoader__.load({
|
|
|
478
489
|
mode: "value",
|
|
479
490
|
value
|
|
480
491
|
} : { mode: "default" },
|
|
481
|
-
effort:
|
|
492
|
+
effort: effort !== void 0 && effort.value !== "" ? {
|
|
493
|
+
mode: "value",
|
|
494
|
+
value: effort.value
|
|
495
|
+
} : { mode: "default" }
|
|
482
496
|
},
|
|
483
497
|
onChange: (selection) => {
|
|
484
498
|
onChange(selection.model.mode === "value" ? selection.model.value : "");
|
|
485
|
-
|
|
499
|
+
effort?.onChange(selection.effort.mode === "value" ? selection.effort.value : "");
|
|
500
|
+
if (effort === void 0) setOpen(false);
|
|
486
501
|
},
|
|
487
|
-
showEffort:
|
|
502
|
+
showEffort: effort !== void 0,
|
|
488
503
|
disabled,
|
|
489
504
|
t
|
|
490
505
|
})
|
|
@@ -492,22 +507,125 @@ window.__ModuleLoader__.load({
|
|
|
492
507
|
})]
|
|
493
508
|
});
|
|
494
509
|
}
|
|
510
|
+
/** The form-field face: a model select and, when asked, the model's effort select ('' = the model's default). */
|
|
511
|
+
function ModelSelects({ directory, error, value, onChange, effort, disabled, classes, t }) {
|
|
512
|
+
const entries = directory?.entries ?? [];
|
|
513
|
+
const shown = entries.filter((entry) => !entry.hidden || entry.value === value);
|
|
514
|
+
const reasoning = entries.find((entry) => entry.value === value)?.reasoning;
|
|
515
|
+
const options = reasoning?.options ?? [];
|
|
516
|
+
const defaultEffort = options.find((option) => option.value === reasoning?.default)?.label ?? reasoning?.default;
|
|
517
|
+
const pickModel = (next) => {
|
|
518
|
+
onChange(next);
|
|
519
|
+
const nextOptions = entries.find((entry) => entry.value === next)?.reasoning?.options ?? [];
|
|
520
|
+
if (effort !== void 0 && effort.value !== "" && !nextOptions.some((option) => option.value === effort.value)) effort.onChange("");
|
|
521
|
+
};
|
|
522
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
523
|
+
className: classes.row,
|
|
524
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
525
|
+
className: classes.field,
|
|
526
|
+
children: [
|
|
527
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
528
|
+
className: classes.label,
|
|
529
|
+
children: t("configuration.model")
|
|
530
|
+
}),
|
|
531
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
532
|
+
className: classes.select,
|
|
533
|
+
"aria-label": t("configuration.model"),
|
|
534
|
+
value,
|
|
535
|
+
disabled: disabled || directory === void 0,
|
|
536
|
+
onChange: (event) => {
|
|
537
|
+
pickModel(event.target.value);
|
|
538
|
+
},
|
|
539
|
+
children: [
|
|
540
|
+
directory === void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
541
|
+
value,
|
|
542
|
+
children: value || t("loading")
|
|
543
|
+
}),
|
|
544
|
+
directory !== void 0 && value === "" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
545
|
+
value: "",
|
|
546
|
+
children: t("configuration.choose")
|
|
547
|
+
}),
|
|
548
|
+
directory !== void 0 && value !== "" && !shown.some((entry) => entry.value === value) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
549
|
+
value,
|
|
550
|
+
children: value
|
|
551
|
+
}),
|
|
552
|
+
shown.map((entry) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
553
|
+
value: entry.value,
|
|
554
|
+
children: entry.label
|
|
555
|
+
}, entry.value))
|
|
556
|
+
]
|
|
557
|
+
}),
|
|
558
|
+
error !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
559
|
+
role: "alert",
|
|
560
|
+
children: error
|
|
561
|
+
})
|
|
562
|
+
]
|
|
563
|
+
}), effort !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
564
|
+
className: classes.field,
|
|
565
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
566
|
+
className: classes.label,
|
|
567
|
+
children: t("configuration.effort")
|
|
568
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
569
|
+
className: classes.select,
|
|
570
|
+
"aria-label": t("configuration.effort"),
|
|
571
|
+
value: effort.value,
|
|
572
|
+
disabled: disabled || options.length === 0,
|
|
573
|
+
onChange: (event) => {
|
|
574
|
+
effort.onChange(event.target.value);
|
|
575
|
+
},
|
|
576
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
577
|
+
value: "",
|
|
578
|
+
children: defaultEffort === void 0 ? t("configuration.effortDefault") : `${t("configuration.effortDefault")}(${defaultEffort})`
|
|
579
|
+
}), options.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
580
|
+
value: option.value,
|
|
581
|
+
children: option.label
|
|
582
|
+
}, option.value))]
|
|
583
|
+
})]
|
|
584
|
+
})]
|
|
585
|
+
});
|
|
586
|
+
}
|
|
587
|
+
//#endregion
|
|
588
|
+
//#region src/client/model-directory-scope.ts
|
|
589
|
+
/**
|
|
590
|
+
* Scope a harness's served directory to its curated model list (models.json):
|
|
591
|
+
* the list IS the invite picker's vocabulary, in the list's own order — a
|
|
592
|
+
* listed value the endpoint no longer serves stays as a bare row (the member
|
|
593
|
+
* dialog shows it the same way). No list support, or none configured, keeps
|
|
594
|
+
* the directory as served. Mirrors the member dialog's scoping rule so the
|
|
595
|
+
* invite picker and the member configuration show the same candidates.
|
|
596
|
+
* @param directory - the harness's served directory.
|
|
597
|
+
* @param list - the curated shortlist values, or null when unsupported.
|
|
598
|
+
* @returns the scoped directory.
|
|
599
|
+
*/
|
|
600
|
+
function scopeDirectoryToList(directory, list) {
|
|
601
|
+
if (list === void 0 || list === null || list.length === 0) return directory;
|
|
602
|
+
const byValue = new Map(directory.entries.flatMap((entry) => entry.resolvedModel === void 0 ? [[entry.value, entry]] : [[entry.value, entry], [entry.resolvedModel, entry]]));
|
|
603
|
+
const entries = list.map((value) => byValue.get(value) ?? {
|
|
604
|
+
value,
|
|
605
|
+
label: value,
|
|
606
|
+
source: "configuration"
|
|
607
|
+
});
|
|
608
|
+
return {
|
|
609
|
+
...directory,
|
|
610
|
+
entries
|
|
611
|
+
};
|
|
612
|
+
}
|
|
495
613
|
//#endregion
|
|
496
614
|
//#region \0dsh-css:src/client/AuthStatusDot.module.css.mjs
|
|
497
|
-
const css$
|
|
498
|
-
const tagId$
|
|
499
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
615
|
+
const css$6 = ".OFjNUG_credentialDot{box-sizing:border-box;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.OFjNUG_dotOn{background:var(--dsw-alias-state-success-primary)}.OFjNUG_dotOff{background:var(--dsw-alias-state-error-primary)}.OFjNUG_dotPending{background:var(--dsw-alias-fill-l3)}";
|
|
616
|
+
const tagId$6 = "@khorsheed/dsh-local-agent/AuthStatusDot.module.css";
|
|
617
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$6) + "]") === null) {
|
|
500
618
|
const tag = document.createElement("style");
|
|
501
619
|
tag.dataset.plugin = "@khorsheed/dsh-local-agent";
|
|
502
|
-
tag.dataset.pluginCss = tagId$
|
|
503
|
-
tag.textContent = css$
|
|
620
|
+
tag.dataset.pluginCss = tagId$6;
|
|
621
|
+
tag.textContent = css$6;
|
|
504
622
|
document.head.appendChild(tag);
|
|
505
623
|
}
|
|
506
624
|
var AuthStatusDot_module_css_default = {
|
|
507
625
|
"credentialDot": "OFjNUG_credentialDot",
|
|
508
626
|
"dotOn": "OFjNUG_dotOn",
|
|
509
|
-
"
|
|
510
|
-
"
|
|
627
|
+
"dotPending": "OFjNUG_dotPending",
|
|
628
|
+
"dotOff": "OFjNUG_dotOff"
|
|
511
629
|
};
|
|
512
630
|
//#endregion
|
|
513
631
|
//#region src/client/AuthStatusDot.tsx
|
|
@@ -654,6 +772,30 @@ window.__ModuleLoader__.load({
|
|
|
654
772
|
})
|
|
655
773
|
]
|
|
656
774
|
});
|
|
775
|
+
const IconThinkOutlineRegular = ({ size = 16, className }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
776
|
+
width: size,
|
|
777
|
+
height: size,
|
|
778
|
+
className,
|
|
779
|
+
viewBox: "0 0 16 16",
|
|
780
|
+
fill: "none",
|
|
781
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
782
|
+
"aria-hidden": "true",
|
|
783
|
+
strokeWidth: 1,
|
|
784
|
+
children: [
|
|
785
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
786
|
+
d: "M10.2854 5.71481C12.9673 8.39663 14.1182 11.5938 12.8562 12.8559C11.5942 14.1179 8.39706 12.9669 5.71518 10.2851C3.03333 7.60323 1.88236 4.40608 3.14441 3.14403C4.40644 1.882 7.6036 3.03297 10.2854 5.71481Z",
|
|
787
|
+
stroke: "currentColor"
|
|
788
|
+
}),
|
|
789
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
790
|
+
d: "M10.2854 10.2851C7.6036 12.9669 4.40644 14.1179 3.14441 12.8559C1.88236 11.5938 3.03333 8.39663 5.71518 5.71481C8.39706 3.03297 11.5942 1.882 12.8562 3.14403C14.1182 4.40608 12.9673 7.60323 10.2854 10.2851Z",
|
|
791
|
+
stroke: "currentColor"
|
|
792
|
+
}),
|
|
793
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
794
|
+
d: "M8.86291 8.0002C8.86291 8.47549 8.47762 8.86087 8.00224 8.86087C7.52694 8.86087 7.1416 8.47549 7.1416 8.0002C7.1416 7.52485 7.52694 7.13953 8.00224 7.13953C8.47762 7.13953 8.86291 7.52485 8.86291 8.0002Z",
|
|
795
|
+
fill: "currentColor"
|
|
796
|
+
})
|
|
797
|
+
]
|
|
798
|
+
});
|
|
657
799
|
const IconTrashOutlineMedium = ({ size = 16, className }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
658
800
|
width: size,
|
|
659
801
|
height: size,
|
|
@@ -688,28 +830,28 @@ window.__ModuleLoader__.load({
|
|
|
688
830
|
});
|
|
689
831
|
//#endregion
|
|
690
832
|
//#region \0dsh-css:src/client/FamilyCard.module.css.mjs
|
|
691
|
-
const css$
|
|
692
|
-
const tagId$
|
|
693
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
833
|
+
const css$5 = ".Ki50NG_sections{flex-direction:column;gap:10px;display:flex}.Ki50NG_section{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px;transition:border-color .16s,background .16s}.Ki50NG_section:hover{border-color:var(--dsw-alias-label-dimmed)}.Ki50NG_sectionOpen{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}.Ki50NG_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.Ki50NG_header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.Ki50NG_headText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.Ki50NG_nameRow{align-items:center;gap:6px;display:flex}.Ki50NG_name{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:600;line-height:1.4}.Ki50NG_cliMissing{color:var(--dsw-alias-label-tertiary);background:color-mix(in srgb, var(--dsw-alias-label-tertiary) 12%, transparent);border-radius:999px;flex:none;padding:1px 8px;font-size:11px;line-height:1.4}.Ki50NG_chevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}.Ki50NG_chevronOpen{transform:rotate(180deg)}.Ki50NG_description{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}.Ki50NG_empty{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:1.5}";
|
|
834
|
+
const tagId$5 = "@khorsheed/dsh-local-agent/FamilyCard.module.css";
|
|
835
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$5) + "]") === null) {
|
|
694
836
|
const tag = document.createElement("style");
|
|
695
837
|
tag.dataset.plugin = "@khorsheed/dsh-local-agent";
|
|
696
|
-
tag.dataset.pluginCss = tagId$
|
|
697
|
-
tag.textContent = css$
|
|
838
|
+
tag.dataset.pluginCss = tagId$5;
|
|
839
|
+
tag.textContent = css$5;
|
|
698
840
|
document.head.appendChild(tag);
|
|
699
841
|
}
|
|
700
842
|
var FamilyCard_module_css_default = {
|
|
701
|
-
"section": "Ki50NG_section",
|
|
702
|
-
"header": "Ki50NG_header",
|
|
703
|
-
"nameRow": "Ki50NG_nameRow",
|
|
704
|
-
"name": "Ki50NG_name",
|
|
705
843
|
"cliMissing": "Ki50NG_cliMissing",
|
|
706
|
-
"
|
|
844
|
+
"sectionOpen": "Ki50NG_sectionOpen",
|
|
845
|
+
"chevron": "Ki50NG_chevron",
|
|
707
846
|
"chevronOpen": "Ki50NG_chevronOpen",
|
|
847
|
+
"name": "Ki50NG_name",
|
|
848
|
+
"section": "Ki50NG_section",
|
|
708
849
|
"sections": "Ki50NG_sections",
|
|
709
|
-
"
|
|
710
|
-
"chevron": "Ki50NG_chevron",
|
|
850
|
+
"description": "Ki50NG_description",
|
|
711
851
|
"headText": "Ki50NG_headText",
|
|
712
|
-
"
|
|
852
|
+
"nameRow": "Ki50NG_nameRow",
|
|
853
|
+
"header": "Ki50NG_header",
|
|
854
|
+
"empty": "Ki50NG_empty"
|
|
713
855
|
};
|
|
714
856
|
//#endregion
|
|
715
857
|
//#region src/client/FamilyCard.tsx
|
|
@@ -20117,10 +20259,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
20117
20259
|
literal("failed"),
|
|
20118
20260
|
literal("pending"),
|
|
20119
20261
|
literal("applied"),
|
|
20120
|
-
literal("
|
|
20121
|
-
literal("applying"),
|
|
20262
|
+
literal("conflict"),
|
|
20122
20263
|
literal("unsupported"),
|
|
20123
|
-
literal("
|
|
20264
|
+
literal("locked"),
|
|
20265
|
+
literal("applying")
|
|
20124
20266
|
]),
|
|
20125
20267
|
"error": string$1().optional()
|
|
20126
20268
|
});
|
|
@@ -21234,10 +21376,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
21234
21376
|
literal("failed"),
|
|
21235
21377
|
literal("pending"),
|
|
21236
21378
|
literal("applied"),
|
|
21237
|
-
literal("
|
|
21238
|
-
literal("applying"),
|
|
21379
|
+
literal("conflict"),
|
|
21239
21380
|
literal("unsupported"),
|
|
21240
|
-
literal("
|
|
21381
|
+
literal("locked"),
|
|
21382
|
+
literal("applying")
|
|
21241
21383
|
]),
|
|
21242
21384
|
"error": string$1().optional()
|
|
21243
21385
|
});
|
|
@@ -21526,10 +21668,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
21526
21668
|
"failed",
|
|
21527
21669
|
"pending",
|
|
21528
21670
|
"applied",
|
|
21529
|
-
"
|
|
21530
|
-
"applying",
|
|
21671
|
+
"conflict",
|
|
21531
21672
|
"unsupported",
|
|
21532
|
-
"
|
|
21673
|
+
"locked",
|
|
21674
|
+
"applying"
|
|
21533
21675
|
]
|
|
21534
21676
|
},
|
|
21535
21677
|
"error": { "type": "string" }
|
|
@@ -26095,10 +26237,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
26095
26237
|
"failed",
|
|
26096
26238
|
"pending",
|
|
26097
26239
|
"applied",
|
|
26098
|
-
"
|
|
26099
|
-
"applying",
|
|
26240
|
+
"conflict",
|
|
26100
26241
|
"unsupported",
|
|
26101
|
-
"
|
|
26242
|
+
"locked",
|
|
26243
|
+
"applying"
|
|
26102
26244
|
]
|
|
26103
26245
|
},
|
|
26104
26246
|
"error": { "type": "string" }
|
|
@@ -26569,39 +26711,39 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
26569
26711
|
}
|
|
26570
26712
|
//#endregion
|
|
26571
26713
|
//#region \0dsh-css:src/client/MemberComposer.module.css.mjs
|
|
26572
|
-
const css$
|
|
26573
|
-
const tagId$
|
|
26574
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
26714
|
+
const css$4 = "._7o4e8W_frame{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);min-height:54px;color:var(--dsw-alias-label-tertiary);border-radius:14px;justify-content:center;align-items:center;gap:8px;margin:0 24px 20px;padding:10px 16px;font-size:13px;line-height:20px;display:flex}._7o4e8W_frame strong{color:var(--dsw-alias-label-primary);font-weight:510}._7o4e8W_root{padding:0 var(--dsh-composer-side-clearance) 8px;flex-direction:column;align-items:center;display:flex}._7o4e8W_card{box-sizing:border-box;width:100%;max-width:var(--dsh-composer-card-max-width);--dsw-elevation-stroke-color:var(--dsw-alias-border-l2,#0000001a);border-radius:var(--dsw-radius-panel,22px);background:var(--dsw-specific-input-major);box-shadow:var(--dsw-elevation-soft,0 0 0 1px #0000001a, 0 4px 12px 0 #0000000a);font-size:var(--dsh-content-font-size,14px);line-height:calc(24px + var(--dsh-content-font-delta,0px));border:0;flex-direction:column;gap:8px;padding-top:6px;display:flex}._7o4e8W_header{color:var(--dsw-alias-label-tertiary);justify-content:space-between;align-items:center;gap:8px;padding:4px 14px 0;font-size:12px;line-height:18px;display:flex}._7o4e8W_running{color:var(--dsw-alias-label-caption)}._7o4e8W_input{box-sizing:border-box;resize:none;width:100%;font-family:var(--dsw-font-family);font-size:inherit;line-height:inherit;color:var(--dsw-alias-label-primary);caret-color:var(--dsw-alias-state-business-primary);background:0 0;border:none;outline:none;min-height:36px;padding:4px 8px 0 14px}._7o4e8W_input::placeholder{color:var(--dsw-alias-label-caption);user-select:none}._7o4e8W_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:not-allowed}._7o4e8W_row{justify-content:flex-end;align-items:center;gap:4px;padding:0 8px 6px;display:flex}._7o4e8W_modelPicker{align-items:center;min-width:0;display:flex;position:relative}._7o4e8W_modelChip{min-width:0;max-width:220px;height:28px;color:var(--dsw-alias-label-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:24px;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:500;line-height:20px;display:flex}._7o4e8W_modelChip:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._7o4e8W_modelChip:focus-visible{box-shadow:0 0 0 2px var(--dsw-alias-border-l3)}._7o4e8W_modelChip:disabled{color:var(--dsw-alias-label-dimmed);cursor:default}._7o4e8W_modelChipLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._7o4e8W_chevron,._7o4e8W_chevronOpen{color:var(--dsw-alias-label-caption);flex:none;transition:transform .12s}._7o4e8W_chevronOpen{transform:rotate(180deg)}._7o4e8W_modelMenu{z-index:10;border:1px solid var(--dsw-alias-border-l2-darkmode-thin,var(--dsw-alias-border-l2));background:var(--dsw-specific-menu,var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,#fff)));min-width:180px;max-height:240px;backdrop-filter:var(--dsw-menu-backdrop-filter,blur(20px));box-shadow:var(--dsw-elevation-prominent,var(--dsw-shadow-lv3,0 0 1px 0 #0003, 0 0 4px 0 #00000005, 0 12px 32px 0 #00000014));border-radius:20px;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0;overflow-y:auto}._7o4e8W_modelItem,._7o4e8W_modelItemCurrent,._7o4e8W_modelItemReset{min-height:38px;color:var(--dsw-alias-label-primary);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;font-size:14px;font-weight:500;line-height:20px;display:flex}._7o4e8W_modelItem:hover,._7o4e8W_modelItemCurrent:hover,._7o4e8W_modelItemReset:hover{background:var(--dsw-alias-interactive-bg-hover)}._7o4e8W_modelItemLabel{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}._7o4e8W_modelItemCheck{text-align:center;width:14px;color:var(--dsw-alias-label-secondary);flex:none}._7o4e8W_modelItemReset{color:var(--dsw-alias-label-tertiary);box-shadow:0 -1px 0 var(--dsw-alias-border-l2);border-radius:0 0 10px 10px;margin-top:2px;padding-top:7px}._7o4e8W_modelItemHint{min-height:38px;color:var(--dsw-alias-label-caption);white-space:nowrap;align-items:center;padding:6px 10px;font-size:14px;font-weight:500;line-height:20px;display:flex}._7o4e8W_dock{flex-direction:column;align-items:center;width:100%;display:flex}._7o4e8W_dockRow{text-align:center;width:100%;max-width:var(--dsh-chat-content-width);box-sizing:border-box;padding:4px calc(var(--dsh-composer-side-clearance) + 16px) 0;color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;margin:0 auto;font-size:12px;line-height:20px;display:block;overflow:hidden}._7o4e8W_primary{background:var(--dsw-alias-button-info-fill);color:#fff;cursor:pointer;border:none;border-radius:999px;flex:none;place-items:center;width:34px;height:34px;transition:background-color .1s;display:grid}._7o4e8W_primary:hover:not(:disabled){background:var(--dsw-alias-button-info-hover)}._7o4e8W_primary:disabled{opacity:.4;cursor:default}._7o4e8W_error{width:100%;max-width:var(--dsh-composer-card-max-width);background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);border-radius:8px;margin-bottom:6px;padding:4px 8px;font-size:12px;line-height:18px}";
|
|
26715
|
+
const tagId$4 = "@khorsheed/dsh-local-agent/MemberComposer.module.css";
|
|
26716
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
|
|
26575
26717
|
const tag = document.createElement("style");
|
|
26576
26718
|
tag.dataset.plugin = "@khorsheed/dsh-local-agent";
|
|
26577
|
-
tag.dataset.pluginCss = tagId$
|
|
26578
|
-
tag.textContent = css$
|
|
26719
|
+
tag.dataset.pluginCss = tagId$4;
|
|
26720
|
+
tag.textContent = css$4;
|
|
26579
26721
|
document.head.appendChild(tag);
|
|
26580
26722
|
}
|
|
26581
26723
|
var MemberComposer_module_css_default = {
|
|
26582
|
-
"modelItemReset": "_7o4e8W_modelItemReset",
|
|
26583
|
-
"modelPicker": "_7o4e8W_modelPicker",
|
|
26584
|
-
"card": "_7o4e8W_card",
|
|
26585
|
-
"modelItem": "_7o4e8W_modelItem",
|
|
26586
|
-
"dockRow": "_7o4e8W_dockRow",
|
|
26587
|
-
"primary": "_7o4e8W_primary",
|
|
26588
|
-
"header": "_7o4e8W_header",
|
|
26589
|
-
"frame": "_7o4e8W_frame",
|
|
26590
|
-
"modelChip": "_7o4e8W_modelChip",
|
|
26591
|
-
"modelItemLabel": "_7o4e8W_modelItemLabel",
|
|
26592
|
-
"error": "_7o4e8W_error",
|
|
26593
26724
|
"modelItemCurrent": "_7o4e8W_modelItemCurrent",
|
|
26594
|
-
"modelItemHint": "_7o4e8W_modelItemHint",
|
|
26595
|
-
"row": "_7o4e8W_row",
|
|
26596
|
-
"root": "_7o4e8W_root",
|
|
26597
|
-
"chevronOpen": "_7o4e8W_chevronOpen",
|
|
26598
26725
|
"chevron": "_7o4e8W_chevron",
|
|
26599
|
-
"
|
|
26600
|
-
"modelChipLabel": "_7o4e8W_modelChipLabel",
|
|
26726
|
+
"chevronOpen": "_7o4e8W_chevronOpen",
|
|
26601
26727
|
"modelMenu": "_7o4e8W_modelMenu",
|
|
26728
|
+
"frame": "_7o4e8W_frame",
|
|
26602
26729
|
"input": "_7o4e8W_input",
|
|
26730
|
+
"modelPicker": "_7o4e8W_modelPicker",
|
|
26731
|
+
"modelItemCheck": "_7o4e8W_modelItemCheck",
|
|
26732
|
+
"primary": "_7o4e8W_primary",
|
|
26733
|
+
"row": "_7o4e8W_row",
|
|
26734
|
+
"header": "_7o4e8W_header",
|
|
26735
|
+
"modelChipLabel": "_7o4e8W_modelChipLabel",
|
|
26736
|
+
"card": "_7o4e8W_card",
|
|
26737
|
+
"modelChip": "_7o4e8W_modelChip",
|
|
26603
26738
|
"dock": "_7o4e8W_dock",
|
|
26604
|
-
"
|
|
26739
|
+
"dockRow": "_7o4e8W_dockRow",
|
|
26740
|
+
"root": "_7o4e8W_root",
|
|
26741
|
+
"modelItemHint": "_7o4e8W_modelItemHint",
|
|
26742
|
+
"error": "_7o4e8W_error",
|
|
26743
|
+
"modelItemReset": "_7o4e8W_modelItemReset",
|
|
26744
|
+
"modelItem": "_7o4e8W_modelItem",
|
|
26745
|
+
"running": "_7o4e8W_running",
|
|
26746
|
+
"modelItemLabel": "_7o4e8W_modelItemLabel"
|
|
26605
26747
|
};
|
|
26606
26748
|
//#endregion
|
|
26607
26749
|
//#region src/client/MemberComposer.tsx
|
|
@@ -27026,6 +27168,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
27026
27168
|
"configuration.details": "模型目录详情",
|
|
27027
27169
|
"configuration.model": "模型",
|
|
27028
27170
|
"configuration.effort": "推理强度",
|
|
27171
|
+
"configuration.effortDefault": "默认",
|
|
27029
27172
|
"configuration.inherit": "继承成员创建配置",
|
|
27030
27173
|
"configuration.default": "跟随 harness 默认值",
|
|
27031
27174
|
"configuration.search": "搜索模型名称或 ID",
|
|
@@ -27057,7 +27200,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
27057
27200
|
"configuration.cancelled": "已接收撤销请求,正在恢复配置。",
|
|
27058
27201
|
"configuration.failed": "配置操作失败,请检查原因后重试。",
|
|
27059
27202
|
"stream.thinking": "思考中",
|
|
27060
|
-
"stream.writing": "正在生成",
|
|
27061
27203
|
"stream.recovering": "部分记录,等待实时连接",
|
|
27062
27204
|
"stream.copy": "复制",
|
|
27063
27205
|
"stream.copied": "已复制",
|
|
@@ -27162,6 +27304,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
27162
27304
|
"configuration.details": "Model directory details",
|
|
27163
27305
|
"configuration.model": "Model",
|
|
27164
27306
|
"configuration.effort": "Reasoning effort",
|
|
27307
|
+
"configuration.effortDefault": "Default",
|
|
27165
27308
|
"configuration.inherit": "Inherit member configuration",
|
|
27166
27309
|
"configuration.default": "Follow harness defaults",
|
|
27167
27310
|
"configuration.search": "Search model names or IDs",
|
|
@@ -27193,7 +27336,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
27193
27336
|
"configuration.cancelled": "Cancellation accepted; restoring configuration.",
|
|
27194
27337
|
"configuration.failed": "Configuration failed; check the reason before retrying.",
|
|
27195
27338
|
"stream.thinking": "Thinking",
|
|
27196
|
-
"stream.writing": "Writing",
|
|
27197
27339
|
"stream.recovering": "Partial record, awaiting live connection",
|
|
27198
27340
|
"stream.copy": "Copy",
|
|
27199
27341
|
"stream.copied": "Copied",
|
|
@@ -27328,6 +27470,28 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
27328
27470
|
}
|
|
27329
27471
|
};
|
|
27330
27472
|
//#endregion
|
|
27473
|
+
//#region \0dsh-css:src/client/MemberLiveOutput.module.css.mjs
|
|
27474
|
+
const css$3 = ".V1MHtG_item{min-width:0}.V1MHtG_item+.V1MHtG_item{margin-top:4px}.V1MHtG_thinkRow{overflow:hidden}.V1MHtG_leading{flex-shrink:0}.V1MHtG_title{font-weight:400}.V1MHtG_separator{background:var(--dsw-alias-label-caption,#7f7f7f99);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.V1MHtG_summary{min-width:0;font-size:var(--dsh-content-font-size-secondary,13px);line-height:calc(20px + var(--dsh-content-font-delta-secondary,0px));white-space:nowrap;flex:auto;overflow:hidden;mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000)}.V1MHtG_thinkBody{padding:4px 0 4px calc(22px + var(--dsh-content-font-delta,0px));min-width:0;color:var(--dsw-alias-label-secondary,#5a5a5ae6);font-size:var(--dsh-content-font-size-secondary,13px)}.V1MHtG_text{min-width:0}.V1MHtG_recovering{color:var(--dsw-alias-label-tertiary,#7f7f7fcc);font-size:11px}";
|
|
27475
|
+
const tagId$3 = "@khorsheed/dsh-local-agent/MemberLiveOutput.module.css";
|
|
27476
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
27477
|
+
const tag = document.createElement("style");
|
|
27478
|
+
tag.dataset.plugin = "@khorsheed/dsh-local-agent";
|
|
27479
|
+
tag.dataset.pluginCss = tagId$3;
|
|
27480
|
+
tag.textContent = css$3;
|
|
27481
|
+
document.head.appendChild(tag);
|
|
27482
|
+
}
|
|
27483
|
+
var MemberLiveOutput_module_css_default = {
|
|
27484
|
+
"thinkRow": "V1MHtG_thinkRow",
|
|
27485
|
+
"text": "V1MHtG_text",
|
|
27486
|
+
"thinkBody": "V1MHtG_thinkBody",
|
|
27487
|
+
"separator": "V1MHtG_separator",
|
|
27488
|
+
"item": "V1MHtG_item",
|
|
27489
|
+
"title": "V1MHtG_title",
|
|
27490
|
+
"leading": "V1MHtG_leading",
|
|
27491
|
+
"recovering": "V1MHtG_recovering",
|
|
27492
|
+
"summary": "V1MHtG_summary"
|
|
27493
|
+
};
|
|
27494
|
+
//#endregion
|
|
27331
27495
|
//#region src/client/MemberLiveNode.tsx
|
|
27332
27496
|
/** Generation-time text rendered through the public Markdown component. */
|
|
27333
27497
|
function MemberLiveNode({ node, outputs, t }) {
|
|
@@ -27371,6 +27535,60 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
27371
27535
|
* The wall-clock subtraction is meaningful only when browser and host share a clock.
|
|
27372
27536
|
* Keep independent callbacks across updates so slow paints cannot disappear from P95.
|
|
27373
27537
|
*/
|
|
27538
|
+
/** The latest completed paragraph's first line — the host think row's running summary. */
|
|
27539
|
+
function latestParagraphLine(text) {
|
|
27540
|
+
let summary = "";
|
|
27541
|
+
let start = 0;
|
|
27542
|
+
const separator = /\r?\n(?:[\t ]*\r?\n)+/g;
|
|
27543
|
+
while (true) {
|
|
27544
|
+
const next = separator.exec(text);
|
|
27545
|
+
const end = next === null ? text.length : next.index + next[0].indexOf("\n");
|
|
27546
|
+
const newline = text.indexOf("\n", start);
|
|
27547
|
+
if (newline !== -1 && newline <= end) {
|
|
27548
|
+
const candidate = text.slice(start, newline).trim();
|
|
27549
|
+
if (candidate !== "") summary = candidate;
|
|
27550
|
+
}
|
|
27551
|
+
if (next === null) return summary;
|
|
27552
|
+
start = next.index + next[0].length;
|
|
27553
|
+
}
|
|
27554
|
+
}
|
|
27555
|
+
/**
|
|
27556
|
+
* A streaming think block drawn as the host's own think row: collapsed to one
|
|
27557
|
+
* line (icon, title, the latest paragraph's first line shimmering), the full
|
|
27558
|
+
* text on expand — the same row the settled message shows once it lands.
|
|
27559
|
+
*/
|
|
27560
|
+
function LiveReasoning({ text, labels, title }) {
|
|
27561
|
+
const [open, setOpen] = (0, react.useState)(false);
|
|
27562
|
+
const summary = (0, react.useMemo)(() => (latestParagraphLine(text) || text.split("\n", 1)[0] || "").replaceAll("**", ""), [text]);
|
|
27563
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
27564
|
+
rowClassName: MemberLiveOutput_module_css_default.thinkRow,
|
|
27565
|
+
leadingClassName: MemberLiveOutput_module_css_default.leading,
|
|
27566
|
+
titleClassName: MemberLiveOutput_module_css_default.title,
|
|
27567
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconThinkOutlineRegular, { size: 14 }),
|
|
27568
|
+
title,
|
|
27569
|
+
running: true,
|
|
27570
|
+
open,
|
|
27571
|
+
expandable: true,
|
|
27572
|
+
expandOnRowClick: true,
|
|
27573
|
+
onToggle: () => {
|
|
27574
|
+
setOpen((value) => !value);
|
|
27575
|
+
},
|
|
27576
|
+
collapsedContent: open || summary === "" ? void 0 : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
27577
|
+
className: MemberLiveOutput_module_css_default.separator,
|
|
27578
|
+
"aria-hidden": true
|
|
27579
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
27580
|
+
className: MemberLiveOutput_module_css_default.summary,
|
|
27581
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.TextShimmer, { children: summary })
|
|
27582
|
+
})] }),
|
|
27583
|
+
children: open ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
27584
|
+
className: MemberLiveOutput_module_css_default.thinkBody,
|
|
27585
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
|
|
27586
|
+
text,
|
|
27587
|
+
labels
|
|
27588
|
+
})
|
|
27589
|
+
}) : void 0
|
|
27590
|
+
});
|
|
27591
|
+
}
|
|
27374
27592
|
function StreamText({ id, kind, text, receivedAt, recovering, sessionId, turn, revision, baseline, surface, diagnostics, t }) {
|
|
27375
27593
|
const element = (0, react.useRef)(null);
|
|
27376
27594
|
const samples = (0, react.useRef)([]);
|
|
@@ -27423,19 +27641,31 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
27423
27641
|
turn,
|
|
27424
27642
|
surface
|
|
27425
27643
|
]);
|
|
27644
|
+
const labels = {
|
|
27645
|
+
code: {
|
|
27646
|
+
copyLabel: t("stream.copy"),
|
|
27647
|
+
copiedLabel: t("stream.copied")
|
|
27648
|
+
},
|
|
27649
|
+
footnotes: t("stream.footnotes")
|
|
27650
|
+
};
|
|
27426
27651
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
27427
27652
|
ref: element,
|
|
27653
|
+
className: MemberLiveOutput_module_css_default.item,
|
|
27428
27654
|
"data-member-live": id,
|
|
27429
27655
|
"data-live-received-at": receivedAt,
|
|
27430
|
-
children: [
|
|
27656
|
+
children: [kind === "think" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LiveReasoning, {
|
|
27431
27657
|
text,
|
|
27432
|
-
labels
|
|
27433
|
-
|
|
27434
|
-
|
|
27435
|
-
|
|
27436
|
-
|
|
27437
|
-
|
|
27438
|
-
|
|
27658
|
+
labels,
|
|
27659
|
+
title: t("stream.thinking")
|
|
27660
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
27661
|
+
className: MemberLiveOutput_module_css_default.text,
|
|
27662
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
|
|
27663
|
+
text,
|
|
27664
|
+
labels
|
|
27665
|
+
})
|
|
27666
|
+
}), recovering && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
27667
|
+
className: MemberLiveOutput_module_css_default.recovering,
|
|
27668
|
+
children: t("stream.recovering")
|
|
27439
27669
|
})]
|
|
27440
27670
|
});
|
|
27441
27671
|
}
|
|
@@ -27653,30 +27883,30 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
27653
27883
|
document.head.appendChild(tag);
|
|
27654
27884
|
}
|
|
27655
27885
|
var ProviderAuthBlock_module_css_default = {
|
|
27656
|
-
"
|
|
27657
|
-
"dotOn": "On5p7W_dotOn",
|
|
27658
|
-
"rowName": "On5p7W_rowName",
|
|
27659
|
-
"rosterError": "On5p7W_rosterError",
|
|
27660
|
-
"retryButton": "On5p7W_retryButton",
|
|
27661
|
-
"loginPrompt": "On5p7W_loginPrompt",
|
|
27662
|
-
"section": "On5p7W_section",
|
|
27663
|
-
"credentialDot": "On5p7W_credentialDot",
|
|
27886
|
+
"rowCard": "On5p7W_rowCard",
|
|
27664
27887
|
"rows": "On5p7W_rows",
|
|
27888
|
+
"rowPending": "On5p7W_rowPending",
|
|
27889
|
+
"retryButton": "On5p7W_retryButton",
|
|
27890
|
+
"rosterError": "On5p7W_rosterError",
|
|
27665
27891
|
"rowIdentity": "On5p7W_rowIdentity",
|
|
27666
|
-
"
|
|
27892
|
+
"section": "On5p7W_section",
|
|
27893
|
+
"dotOn": "On5p7W_dotOn",
|
|
27667
27894
|
"status": "On5p7W_status",
|
|
27895
|
+
"rowTag": "On5p7W_rowTag",
|
|
27896
|
+
"logoutButton": "On5p7W_logoutButton",
|
|
27897
|
+
"dotOff": "On5p7W_dotOff",
|
|
27668
27898
|
"codeInput": "On5p7W_codeInput",
|
|
27669
|
-
"rowActions": "On5p7W_rowActions",
|
|
27670
|
-
"openPage": "On5p7W_openPage",
|
|
27671
27899
|
"loginButton": "On5p7W_loginButton",
|
|
27672
|
-
"rowTag": "On5p7W_rowTag",
|
|
27673
27900
|
"title": "On5p7W_title",
|
|
27901
|
+
"rowHead": "On5p7W_rowHead",
|
|
27902
|
+
"openPage": "On5p7W_openPage",
|
|
27674
27903
|
"intro": "On5p7W_intro",
|
|
27675
|
-
"
|
|
27676
|
-
"dotPending": "On5p7W_dotPending",
|
|
27904
|
+
"loginPrompt": "On5p7W_loginPrompt",
|
|
27677
27905
|
"promptText": "On5p7W_promptText",
|
|
27678
|
-
"
|
|
27679
|
-
"
|
|
27906
|
+
"credentialDot": "On5p7W_credentialDot",
|
|
27907
|
+
"rowName": "On5p7W_rowName",
|
|
27908
|
+
"rowActions": "On5p7W_rowActions",
|
|
27909
|
+
"dotPending": "On5p7W_dotPending"
|
|
27680
27910
|
};
|
|
27681
27911
|
//#endregion
|
|
27682
27912
|
//#region src/client/ProviderAuthBlock.tsx
|
|
@@ -27955,39 +28185,39 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
27955
28185
|
document.head.appendChild(tag);
|
|
27956
28186
|
}
|
|
27957
28187
|
var ModelListSection_module_css_default = {
|
|
27958
|
-
"
|
|
28188
|
+
"modelSave": "_4eeJ7W_modelSave",
|
|
28189
|
+
"modelList": "_4eeJ7W_modelList",
|
|
27959
28190
|
"modelAdd": "_4eeJ7W_modelAdd",
|
|
28191
|
+
"modelRow": "_4eeJ7W_modelRow",
|
|
28192
|
+
"dialogBackdrop": "_4eeJ7W_dialogBackdrop",
|
|
28193
|
+
"modelRowValue": "_4eeJ7W_modelRowValue",
|
|
28194
|
+
"modelDelete": "_4eeJ7W_modelDelete",
|
|
28195
|
+
"dialogItemAdded": "_4eeJ7W_dialogItemAdded",
|
|
27960
28196
|
"info": "_4eeJ7W_info",
|
|
28197
|
+
"dialogSelectAll": "_4eeJ7W_dialogSelectAll",
|
|
27961
28198
|
"dialogActions": "_4eeJ7W_dialogActions",
|
|
27962
28199
|
"dialogConfirm": "_4eeJ7W_dialogConfirm",
|
|
27963
|
-
"block": "_4eeJ7W_block",
|
|
27964
|
-
"saved": "_4eeJ7W_saved",
|
|
27965
28200
|
"modelRowLabel": "_4eeJ7W_modelRowLabel",
|
|
27966
|
-
"dialogItemAdded": "_4eeJ7W_dialogItemAdded",
|
|
27967
|
-
"blockTitle": "_4eeJ7W_blockTitle",
|
|
27968
28201
|
"modelDrag": "_4eeJ7W_modelDrag",
|
|
28202
|
+
"row": "_4eeJ7W_row",
|
|
28203
|
+
"dialogToolbar": "_4eeJ7W_dialogToolbar",
|
|
28204
|
+
"blockTitle": "_4eeJ7W_blockTitle",
|
|
27969
28205
|
"errorText": "_4eeJ7W_errorText",
|
|
27970
|
-
"dialogItemValue": "_4eeJ7W_dialogItemValue",
|
|
27971
|
-
"modelRow": "_4eeJ7W_modelRow",
|
|
27972
|
-
"dialogClose": "_4eeJ7W_dialogClose",
|
|
27973
|
-
"dialogList": "_4eeJ7W_dialogList",
|
|
27974
|
-
"dialogHead": "_4eeJ7W_dialogHead",
|
|
27975
|
-
"modelInput": "_4eeJ7W_modelInput",
|
|
27976
|
-
"modelRowValue": "_4eeJ7W_modelRowValue",
|
|
27977
|
-
"dialogHint": "_4eeJ7W_dialogHint",
|
|
27978
28206
|
"dialog": "_4eeJ7W_dialog",
|
|
27979
|
-
"
|
|
27980
|
-
"
|
|
27981
|
-
"
|
|
27982
|
-
"modelList": "_4eeJ7W_modelList",
|
|
27983
|
-
"modelDefaultChip": "_4eeJ7W_modelDefaultChip",
|
|
27984
|
-
"modelRowDragging": "_4eeJ7W_modelRowDragging",
|
|
27985
|
-
"dialogTitle": "_4eeJ7W_dialogTitle",
|
|
27986
|
-
"row": "_4eeJ7W_row",
|
|
28207
|
+
"modelInput": "_4eeJ7W_modelInput",
|
|
28208
|
+
"hint": "_4eeJ7W_hint",
|
|
28209
|
+
"dialogList": "_4eeJ7W_dialogList",
|
|
27987
28210
|
"dialogItem": "_4eeJ7W_dialogItem",
|
|
27988
|
-
"modelSave": "_4eeJ7W_modelSave",
|
|
27989
28211
|
"dialogItemLabel": "_4eeJ7W_dialogItemLabel",
|
|
27990
|
-
"
|
|
28212
|
+
"dialogClose": "_4eeJ7W_dialogClose",
|
|
28213
|
+
"block": "_4eeJ7W_block",
|
|
28214
|
+
"modelRowDragging": "_4eeJ7W_modelRowDragging",
|
|
28215
|
+
"dialogTitle": "_4eeJ7W_dialogTitle",
|
|
28216
|
+
"dialogItemValue": "_4eeJ7W_dialogItemValue",
|
|
28217
|
+
"saved": "_4eeJ7W_saved",
|
|
28218
|
+
"modelDefaultChip": "_4eeJ7W_modelDefaultChip",
|
|
28219
|
+
"dialogHint": "_4eeJ7W_dialogHint",
|
|
28220
|
+
"dialogHead": "_4eeJ7W_dialogHead"
|
|
27991
28221
|
};
|
|
27992
28222
|
//#endregion
|
|
27993
28223
|
//#region src/client/ModelListSection.tsx
|
|
@@ -28359,19 +28589,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
28359
28589
|
document.head.appendChild(tag);
|
|
28360
28590
|
}
|
|
28361
28591
|
var MemberInboxView_module_css_default = {
|
|
28362
|
-
"iconAction": "Qhm0ea_iconAction",
|
|
28363
|
-
"preview": "Qhm0ea_preview",
|
|
28364
|
-
"toggle": "Qhm0ea_toggle",
|
|
28365
|
-
"header": "Qhm0ea_header",
|
|
28366
|
-
"notice": "Qhm0ea_notice",
|
|
28367
|
-
"list": "Qhm0ea_list",
|
|
28368
|
-
"recovery": "Qhm0ea_recovery",
|
|
28369
|
-
"root": "Qhm0ea_root",
|
|
28370
28592
|
"panel": "Qhm0ea_panel",
|
|
28371
28593
|
"reconcile": "Qhm0ea_reconcile",
|
|
28594
|
+
"lead": "Qhm0ea_lead",
|
|
28372
28595
|
"row": "Qhm0ea_row",
|
|
28596
|
+
"header": "Qhm0ea_header",
|
|
28597
|
+
"root": "Qhm0ea_root",
|
|
28598
|
+
"list": "Qhm0ea_list",
|
|
28599
|
+
"iconAction": "Qhm0ea_iconAction",
|
|
28600
|
+
"recovery": "Qhm0ea_recovery",
|
|
28373
28601
|
"action": "Qhm0ea_action",
|
|
28374
|
-
"
|
|
28602
|
+
"toggle": "Qhm0ea_toggle",
|
|
28603
|
+
"notice": "Qhm0ea_notice",
|
|
28604
|
+
"preview": "Qhm0ea_preview"
|
|
28375
28605
|
};
|
|
28376
28606
|
//#endregion
|
|
28377
28607
|
//#region src/client/MemberInboxView.tsx
|
|
@@ -28582,8 +28812,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
28582
28812
|
const directoryFace = (name) => {
|
|
28583
28813
|
let face = directoryFaces.get(name);
|
|
28584
28814
|
if (face === void 0) directoryFaces.set(name, face = {
|
|
28585
|
-
read: async (refresh) =>
|
|
28586
|
-
|
|
28815
|
+
read: async (refresh) => {
|
|
28816
|
+
const directory = unwrap(await gateway.modelDirectory(name, void 0, refresh));
|
|
28817
|
+
return directory === null ? null : scopeDirectoryToList(directory, unwrap(await gateway.modelList(name)));
|
|
28818
|
+
},
|
|
28819
|
+
follow: async function* (signal) {
|
|
28820
|
+
let list = unwrap(await gateway.modelList(name));
|
|
28821
|
+
for await (const directory of gateway.followModelDirectory(name, void 0, signal)) {
|
|
28822
|
+
if (signal.aborted) return;
|
|
28823
|
+
list = unwrap(await gateway.modelList(name));
|
|
28824
|
+
yield scopeDirectoryToList(directory, list);
|
|
28825
|
+
}
|
|
28826
|
+
}
|
|
28587
28827
|
});
|
|
28588
28828
|
return face;
|
|
28589
28829
|
};
|