dsh-context 0.49.0 → 0.49.2
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/lib/client.js +109 -56
- package/package.json +2 -3
package/lib/client.js
CHANGED
|
@@ -10,7 +10,7 @@ window.__ModuleLoader__.load({
|
|
|
10
10
|
//#region src/client/i18n.ts
|
|
11
11
|
const DICT_ZH = {
|
|
12
12
|
"tab": "上下文",
|
|
13
|
-
"sidebar.guideDescription": "
|
|
13
|
+
"sidebar.guideDescription": "查看上下文的构成、统计、演变。",
|
|
14
14
|
"cat.system": "系统提示词",
|
|
15
15
|
"cat.tools": "工具定义",
|
|
16
16
|
"cat.user": "用户消息",
|
|
@@ -84,7 +84,7 @@ window.__ModuleLoader__.load({
|
|
|
84
84
|
"detail.turn": "第 {t} 轮 · 共 {n} 步",
|
|
85
85
|
"detail.lastStep": "末步",
|
|
86
86
|
"detail.estTotal": "估算合计 ≈ {n}",
|
|
87
|
-
"detail.actual": "实际
|
|
87
|
+
"detail.actual": "实际 {n}",
|
|
88
88
|
"detail.output": "输出 {n}",
|
|
89
89
|
"detail.cache": "缓存 {n}%",
|
|
90
90
|
"brief.turn": "本轮",
|
|
@@ -253,7 +253,6 @@ window.__ModuleLoader__.load({
|
|
|
253
253
|
"browser.loading": "正在从更早的会话历史加载完整内容…",
|
|
254
254
|
"browser.notInLog": "会话日志中未找到该条目的完整内容(可能已被压缩或清理)",
|
|
255
255
|
"browser.loadFailed": "内容加载失败,点击重试",
|
|
256
|
-
"browser.preview": "预览",
|
|
257
256
|
"tool.desc": "描述",
|
|
258
257
|
"tool.params": "参数",
|
|
259
258
|
"tool.paramsEmpty": "(无参数)",
|
|
@@ -302,7 +301,7 @@ window.__ModuleLoader__.load({
|
|
|
302
301
|
};
|
|
303
302
|
const DICT_EN = {
|
|
304
303
|
"tab": "Context",
|
|
305
|
-
"sidebar.guideDescription": "Inspect
|
|
304
|
+
"sidebar.guideDescription": "Inspect context composition, stats, and evolution.",
|
|
306
305
|
"cat.system": "System Prompt",
|
|
307
306
|
"cat.tools": "Tool Schemas",
|
|
308
307
|
"cat.user": "User Messages",
|
|
@@ -376,7 +375,7 @@ window.__ModuleLoader__.load({
|
|
|
376
375
|
"detail.turn": "Turn {t} · {n} steps",
|
|
377
376
|
"detail.lastStep": "Last Step",
|
|
378
377
|
"detail.estTotal": "Estimated ≈ {n}",
|
|
379
|
-
"detail.actual": "Actual
|
|
378
|
+
"detail.actual": "Actual {n}",
|
|
380
379
|
"detail.output": "Output {n}",
|
|
381
380
|
"detail.cache": "Cache {n}%",
|
|
382
381
|
"brief.turn": "User",
|
|
@@ -545,7 +544,6 @@ window.__ModuleLoader__.load({
|
|
|
545
544
|
"browser.loading": "Loading full content from older session history…",
|
|
546
545
|
"browser.notInLog": "This item is not in the session log anymore (it may have been compacted away or cleared)",
|
|
547
546
|
"browser.loadFailed": "Load failed — click to retry",
|
|
548
|
-
"browser.preview": "Preview",
|
|
549
547
|
"tool.desc": "Description",
|
|
550
548
|
"tool.params": "Parameters",
|
|
551
549
|
"tool.paramsEmpty": "(no parameters)",
|
|
@@ -3444,8 +3442,8 @@ window.__ModuleLoader__.load({
|
|
|
3444
3442
|
});
|
|
3445
3443
|
const missNote = fetchMissNote(t, fetchContent, miss.state, miss.retry, "browser.noContent");
|
|
3446
3444
|
const requests = data.requests;
|
|
3447
|
-
const
|
|
3448
|
-
const
|
|
3445
|
+
const req = (props.previewSeq !== null && props.previewSeq !== void 0 ? requests.find((r) => r.seq === props.previewSeq) ?? null : null) ?? (sel === "live" ? null : requests.find((r) => r.seq === sel) ?? null);
|
|
3446
|
+
const actual = req ?? requests.reduce((a, r) => a === null || r.seq > a.seq ? r : a, null);
|
|
3449
3447
|
const seq = req !== null ? req.seq : null;
|
|
3450
3448
|
const linked = req === null && props.onHoverKey !== void 0;
|
|
3451
3449
|
const linkKey = linked && props.hoverKey !== null && props.hoverKey !== "free" ? props.hoverKey : null;
|
|
@@ -3775,15 +3773,11 @@ window.__ModuleLoader__.load({
|
|
|
3775
3773
|
s: req.step ?? 0
|
|
3776
3774
|
}) : t("browser.liveNow") }),
|
|
3777
3775
|
req !== null ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: fmtTime(req.time) }) : null,
|
|
3778
|
-
|
|
3779
|
-
className: "lc-
|
|
3780
|
-
children: t("
|
|
3781
|
-
})
|
|
3782
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: t("detail.
|
|
3783
|
-
req !== null && req.prompt !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
3784
|
-
className: "lc-actual",
|
|
3785
|
-
children: t("detail.actual", { n: fmt(req.prompt) })
|
|
3786
|
-
}) : null
|
|
3776
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
3777
|
+
className: "lc-est",
|
|
3778
|
+
children: t("detail.estTotal", { n: fmt(total) })
|
|
3779
|
+
}),
|
|
3780
|
+
actual !== null && actual.prompt !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: t("detail.actual", { n: fmt(actual.prompt) }) }) : null
|
|
3787
3781
|
]
|
|
3788
3782
|
}),
|
|
3789
3783
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -6051,11 +6045,18 @@ window.__ModuleLoader__.load({
|
|
|
6051
6045
|
/**
|
|
6052
6046
|
* The stats cards' ring chart: proportional SVG segments (stroke-dasharray
|
|
6053
6047
|
* over a 100-unit circumference, the same trick as the agent graph's rings)
|
|
6054
|
-
* around an HTML center label.
|
|
6055
|
-
*
|
|
6056
|
-
*
|
|
6057
|
-
*
|
|
6048
|
+
* around an HTML center label. Neighbouring segments part on a hairline of the
|
|
6049
|
+
* card's own background (each arc gives up a half gap at both ends); segments
|
|
6050
|
+
* with no value are skipped; an all-zero ring renders as one neutral track so
|
|
6051
|
+
* the card never draws a misleading "100% of nothing" pie. The center type
|
|
6052
|
+
* scales with the ring's size, so the label always fits inside the hole the
|
|
6053
|
+
* thin stroke leaves.
|
|
6054
|
+
*/
|
|
6055
|
+
/**
|
|
6056
|
+
* The hairline divider between two slices, in dasharray units (1 unit ≈ 1% of
|
|
6057
|
+
* the circumference ≈ 2.3px on the 96px card ring, so this reads as ~1px).
|
|
6058
6058
|
*/
|
|
6059
|
+
const SEG_GAP = .5;
|
|
6059
6060
|
function makeDonut(kit) {
|
|
6060
6061
|
return function Donut(props) {
|
|
6061
6062
|
const size = props.size ?? 118;
|
|
@@ -6070,11 +6071,16 @@ window.__ModuleLoader__.load({
|
|
|
6070
6071
|
arcs.push({
|
|
6071
6072
|
key: s.key,
|
|
6072
6073
|
color: s.color,
|
|
6073
|
-
pct,
|
|
6074
|
+
len: pct,
|
|
6074
6075
|
offset: 100 - acc + 25
|
|
6075
6076
|
});
|
|
6076
6077
|
acc += pct;
|
|
6077
6078
|
}
|
|
6079
|
+
if (arcs.length > 1) for (const a of arcs) {
|
|
6080
|
+
const cut = Math.min(SEG_GAP / 2, a.len / 4);
|
|
6081
|
+
a.len -= cut * 2;
|
|
6082
|
+
a.offset -= cut;
|
|
6083
|
+
}
|
|
6078
6084
|
const hovering = props.hoverKey !== null && props.hoverKey !== void 0 && arcs.some((a) => a.key === props.hoverKey);
|
|
6079
6085
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
6080
6086
|
className: "lc-donut" + (hovering ? " lc-donut-dim" : ""),
|
|
@@ -6105,7 +6111,7 @@ window.__ModuleLoader__.load({
|
|
|
6105
6111
|
fill: "none",
|
|
6106
6112
|
stroke: a.color,
|
|
6107
6113
|
strokeWidth: "4",
|
|
6108
|
-
strokeDasharray: `${a.
|
|
6114
|
+
strokeDasharray: `${a.len} ${100 - a.len}`,
|
|
6109
6115
|
strokeDashoffset: a.offset,
|
|
6110
6116
|
onMouseEnter: () => {
|
|
6111
6117
|
if (props.onHoverKey !== void 0) props.onHoverKey(a.key);
|
|
@@ -6634,7 +6640,7 @@ window.__ModuleLoader__.load({
|
|
|
6634
6640
|
return function PluginInfo() {
|
|
6635
6641
|
const [latest, setLatest] = (0, react.useState)(null);
|
|
6636
6642
|
(0, react.useEffect)(() => {
|
|
6637
|
-
if ("0.49.
|
|
6643
|
+
if ("0.49.2".includes("-dev")) return;
|
|
6638
6644
|
let on = true;
|
|
6639
6645
|
fetchLatestVersion().then((v) => {
|
|
6640
6646
|
if (on && v) setLatest(v);
|
|
@@ -6643,8 +6649,8 @@ window.__ModuleLoader__.load({
|
|
|
6643
6649
|
on = false;
|
|
6644
6650
|
};
|
|
6645
6651
|
}, []);
|
|
6646
|
-
const update = latest !== null && isNewerVersion(latest, "0.49.
|
|
6647
|
-
const nameText = "dsh-context (v0.49.
|
|
6652
|
+
const update = latest !== null && isNewerVersion(latest, "0.49.2") ? latest : null;
|
|
6653
|
+
const nameText = "dsh-context (v0.49.2)";
|
|
6648
6654
|
const nameValue = [nameText];
|
|
6649
6655
|
if (update) nameValue.push(/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
6650
6656
|
className: "lc-pi-update",
|
|
@@ -8750,6 +8756,58 @@ window.__ModuleLoader__.load({
|
|
|
8750
8756
|
};
|
|
8751
8757
|
}
|
|
8752
8758
|
//#endregion
|
|
8759
|
+
//#region src/client/icon.tsx
|
|
8760
|
+
/** The sheet's strokes, in paint order, as `[path, fill]` pairs. */
|
|
8761
|
+
const SHEET_PATHS = [
|
|
8762
|
+
["M899.984 19.873h-3.452c-26.123 0-47.296 21.172-47.296 47.296v888.508c0 26.127 21.173 47.298 47.296 47.298h3.452c26.119 0 47.297-21.171 47.297-47.298V67.169c0-26.124-21.177-47.296-47.297-47.296z", "#4A5699"],
|
|
8763
|
+
["M132.643 19.873h-3.449c-26.12 0-47.296 21.172-47.296 47.296v888.508c0 26.127 21.177 47.298 47.296 47.298h3.449c26.123 0 47.299-21.171 47.299-47.298V67.169c0-26.124-21.176-47.296-47.299-47.296z", "#C45FA0"],
|
|
8764
|
+
["M899.463 19.873H129.194c-26.12 0-47.296 21.172-47.296 47.296v3.377c0 26.12 21.177 47.299 47.296 47.299h770.269c26.123 0 47.296-21.179 47.296-47.299v-3.377c0-26.124-21.173-47.296-47.296-47.296z", "#6277BA"],
|
|
8765
|
+
["M899.463 905.006H129.194c-26.12 0-47.296 21.17-47.296 47.29v3.381c0 26.127 21.177 47.298 47.296 47.298h770.269c26.123 0 47.296-21.171 47.296-47.298v-3.381c0-26.12-21.173-47.29-47.296-47.29z", "#C45FA0"],
|
|
8766
|
+
["M717.962 543.153H542.047c-26.121 0-47.298 21.175-47.298 47.297v3.724c0 26.123 21.177 47.293 47.298 47.293h175.915c26.121 0 47.297-21.17 47.297-47.293v-3.724c0-26.122-21.176-47.297-47.297-47.297z", "#E5594F"],
|
|
8767
|
+
["M689.268 198.849H513.355c-26.122 0-47.298 21.175-47.298 47.297v3.722c0 26.12 21.176 47.297 47.298 47.297h175.912c26.122 0 47.298-21.177 47.298-47.297v-3.722c0-26.122-21.175-47.297-47.297-47.297z", "#F0D043"],
|
|
8768
|
+
["M757.789 353.081H261.17c-26.121 0-47.297 21.172-47.297 47.296v3.377c0 26.121 21.177 47.299 47.297 47.299h496.619c26.121 0 47.296-21.178 47.296-47.299v-3.377c0-26.125-21.175-47.296-47.296-47.296z", "#E5594F"],
|
|
8769
|
+
["M762.638 726.225h-496.62c-26.12 0-47.294 21.18-47.294 47.301v3.377c0 26.12 21.174 47.3 47.294 47.3h496.62c26.122 0 47.296-21.18 47.296-47.3v-3.377c0-26.122-21.174-47.301-47.296-47.301z", "#6277BA"],
|
|
8770
|
+
["M355.734 543.328H281.41c-26.122 0-47.297 21.17-47.297 47.293v3.378c0 26.118 21.175 47.297 47.297 47.297h74.324c26.123 0 47.296-21.179 47.296-47.297v-3.378c0-26.123-21.174-47.293-47.296-47.293z", "#F39A2B"],
|
|
8771
|
+
["M334.85 248.006m-48.986 0a48.986 48.986 0 1 0 97.972 0 48.986 48.986 0 1 0-97.972 0Z", "#F39A2B"]
|
|
8772
|
+
];
|
|
8773
|
+
/** The colourful document sheet at the requested square edge. */
|
|
8774
|
+
function ContextIcon({ size = 20, className }) {
|
|
8775
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
8776
|
+
width: size,
|
|
8777
|
+
height: size,
|
|
8778
|
+
viewBox: "0 0 1024 1024",
|
|
8779
|
+
className,
|
|
8780
|
+
"aria-hidden": "true",
|
|
8781
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
8782
|
+
children: SHEET_PATHS.map(([d, fill]) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
8783
|
+
d,
|
|
8784
|
+
fill
|
|
8785
|
+
}, d))
|
|
8786
|
+
});
|
|
8787
|
+
}
|
|
8788
|
+
/**
|
|
8789
|
+
* The tab chip's title seat (`sidebar.right.pane.tab.title`): the emblem before
|
|
8790
|
+
* the label, so the chip reads as the files chip does. The label comes from the
|
|
8791
|
+
* plugin's own bound translate — read at render, so the chip follows the active
|
|
8792
|
+
* locale — rather than the tab-information hook, which a foreign or
|
|
8793
|
+
* not-yet-committed tab record can throw on. It carries a trailing gutter
|
|
8794
|
+
* (`.lc-title-label`) so the active chip's fade lands past the text, never on
|
|
8795
|
+
* the last glyphs.
|
|
8796
|
+
* @param t - the plugin-namespace translate bound in `apply`.
|
|
8797
|
+
* @returns the title component to register under the tab type's id.
|
|
8798
|
+
*/
|
|
8799
|
+
function makeContextTabTitle(t) {
|
|
8800
|
+
return function ContextTabTitle() {
|
|
8801
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ContextIcon, {
|
|
8802
|
+
size: 16,
|
|
8803
|
+
className: "lc-title-icon"
|
|
8804
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8805
|
+
className: "lc-title-label",
|
|
8806
|
+
children: t("tab")
|
|
8807
|
+
})] });
|
|
8808
|
+
};
|
|
8809
|
+
}
|
|
8810
|
+
//#endregion
|
|
8753
8811
|
//#region src/client/sidebar.ts
|
|
8754
8812
|
/**
|
|
8755
8813
|
* The right Sidebar's Context tab (dsh 0.1.5-rc.1+).
|
|
@@ -8761,7 +8819,8 @@ window.__ModuleLoader__.load({
|
|
|
8761
8819
|
* one component with one data path. The tab type contributes a guide entry, so
|
|
8762
8820
|
* the sidebar's guide page offers "Context" and picking it opens the panel —
|
|
8763
8821
|
* the product's own path, exactly as the shipped Files type does: a capsule of
|
|
8764
|
-
* glyph, title, and description line
|
|
8822
|
+
* glyph, title, and description line, plus the chip-title seat that puts the
|
|
8823
|
+
* same glyph beside the label once the tab is open (`icon.tsx`).
|
|
8765
8824
|
*
|
|
8766
8825
|
* OPTIONAL BY CONTRACT. `ctx.sidebarRightTabs` and the seat ship only on the
|
|
8767
8826
|
* 0.1.5 line (0.1.5-rc.1+ supported); the registration therefore rides a
|
|
@@ -8785,22 +8844,8 @@ window.__ModuleLoader__.load({
|
|
|
8785
8844
|
/** The guide capsule's position: after the shipped Files entry (order 10). */
|
|
8786
8845
|
const GUIDE_ORDER = 20;
|
|
8787
8846
|
/**
|
|
8788
|
-
*
|
|
8789
|
-
*
|
|
8790
|
-
* THROWS on the read (an interop/mock shape does exactly that) — must cost the
|
|
8791
|
-
* glyph, never the whole tab.
|
|
8792
|
-
* @returns the icon component, or undefined to register the tab without one.
|
|
8793
|
-
*/
|
|
8794
|
-
function guideIcon() {
|
|
8795
|
-
try {
|
|
8796
|
-
return _deepseek_ai_dsh_client_ui_primitives.IconContextInjectionOutline16;
|
|
8797
|
-
} catch {
|
|
8798
|
-
return;
|
|
8799
|
-
}
|
|
8800
|
-
}
|
|
8801
|
-
/**
|
|
8802
|
-
* Register the Context tab type and its body on the right Sidebar, if — and
|
|
8803
|
-
* only if — this harness serves the sidebar tab registry.
|
|
8847
|
+
* Register the Context tab type, its body, and its chip title on the right
|
|
8848
|
+
* Sidebar, if — and only if — this harness serves the sidebar tab registry.
|
|
8804
8849
|
* @param ctx - client root context carrying `slots` and the locale service.
|
|
8805
8850
|
* @param view - the Context view component factory result (the same one the
|
|
8806
8851
|
* conversation tab mounts).
|
|
@@ -8812,10 +8857,14 @@ window.__ModuleLoader__.load({
|
|
|
8812
8857
|
function watchSidebarContextTab(ctx, view, t, ns) {
|
|
8813
8858
|
ctx.inject(["sidebarRightTabs"], (raw) => {
|
|
8814
8859
|
const injected = raw;
|
|
8860
|
+
const disposers = [];
|
|
8861
|
+
const own = (result) => {
|
|
8862
|
+
if (typeof result === "function") disposers.push(result);
|
|
8863
|
+
};
|
|
8815
8864
|
try {
|
|
8816
8865
|
const tabs = injected.sidebarRightTabs;
|
|
8817
8866
|
if (tabs === void 0 || typeof tabs.register !== "function") return;
|
|
8818
|
-
|
|
8867
|
+
own(tabs.register({
|
|
8819
8868
|
id: SIDEBAR_CONTEXT_ID,
|
|
8820
8869
|
kind: SIDEBAR_CONTEXT_KIND,
|
|
8821
8870
|
title: () => t("tab"),
|
|
@@ -8823,24 +8872,28 @@ window.__ModuleLoader__.load({
|
|
|
8823
8872
|
order: GUIDE_ORDER,
|
|
8824
8873
|
title: () => t("tab"),
|
|
8825
8874
|
description: () => t("sidebar.guideDescription"),
|
|
8826
|
-
icon:
|
|
8875
|
+
icon: ContextIcon
|
|
8827
8876
|
}]
|
|
8828
|
-
});
|
|
8829
|
-
|
|
8877
|
+
}));
|
|
8878
|
+
own(injected.slots.inject("sidebar.right.pane.tab", () => injected.slots.register({
|
|
8830
8879
|
name: "sidebar.right.pane.tab",
|
|
8831
8880
|
key: SIDEBAR_CONTEXT_ID,
|
|
8832
8881
|
locale: ns
|
|
8833
8882
|
}, (props) => view({
|
|
8834
8883
|
...props,
|
|
8835
8884
|
host: "sidebar"
|
|
8836
|
-
})));
|
|
8837
|
-
|
|
8838
|
-
|
|
8839
|
-
|
|
8840
|
-
};
|
|
8885
|
+
}))));
|
|
8886
|
+
own(injected.slots.inject("sidebar.right.pane.tab.title", () => injected.slots.register({
|
|
8887
|
+
name: "sidebar.right.pane.tab.title",
|
|
8888
|
+
key: SIDEBAR_CONTEXT_ID
|
|
8889
|
+
}, makeContextTabTitle(t))));
|
|
8841
8890
|
} catch {
|
|
8891
|
+
for (const dispose of disposers) dispose();
|
|
8842
8892
|
return;
|
|
8843
8893
|
}
|
|
8894
|
+
return () => {
|
|
8895
|
+
for (const dispose of disposers) dispose();
|
|
8896
|
+
};
|
|
8844
8897
|
});
|
|
8845
8898
|
}
|
|
8846
8899
|
//#endregion
|
|
@@ -8860,7 +8913,7 @@ window.__ModuleLoader__.load({
|
|
|
8860
8913
|
}
|
|
8861
8914
|
//#endregion
|
|
8862
8915
|
//#region \0dsh-global-css:/home/runner/work/dsh-context/dsh-context/src/client/styles/base.css.mjs
|
|
8863
|
-
const css$13 = ".lc-root{box-sizing:border-box;height:100%;color:var(--dsw-alias-label-primary);padding:16px 20px 32px;font-size:13px;overflow-y:auto}[data-sidebar-right-open] .lc-root,[data-sidebar-right-float-host] .lc-root{height:auto;padding:12px;overflow:visible}.lc-card{background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;margin-bottom:14px;padding:14px 16px}.lc-root .lc-card{margin-bottom:7px;padding:7px 8px;container:lc-card/inline-size}.lc-root .lc-cols{gap:7px;margin-bottom:7px}.lc-card-title{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.lc-card-title-text{white-space:nowrap;flex:none}.lc-gran,.lc-kinds{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;gap:2px;margin-left:auto;padding:1px;display:flex}.lc-trend-ctl{align-items:center;gap:6px;margin-left:auto;display:flex}.lc-trend-ctl .lc-gran{margin-left:0}.lc-trend-adaptive{flex:none;margin-left:0}.lc-gran-btn{color:var(--dsw-alias-label-secondary);cursor:pointer;transition:color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);background:0 0;border:0;border-radius:5px;padding:3px 8px;font-family:inherit;font-size:11px;line-height:1}.lc-gran-btn:hover{color:var(--dsw-alias-label-primary)}.lc-gran-on,.lc-gran-on:hover{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-foreground)}.lc-tip{z-index:6;background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);width:max-content;color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv3,0 2px 8px #0000002e);pointer-events:none;opacity:0;transition:opacity var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:6px;padding:6px 10px;font-size:12px;position:absolute}.lc-events,.lc-fa-list{flex-direction:column;gap:2px;height:320px;display:flex;overflow-y:auto}.lc-cols{flex-wrap:wrap;gap:14px;margin-bottom:14px;display:flex}.lc-col{flex:1;min-width:min(360px,100%)}.lc-cols>.lc-card,.lc-col>.lc-card:last-child{margin-bottom:0}.lc-col-browser{flex-direction:column;display:flex}.lc-col-browser>.lc-card{flex:1}.lc-head{container:lc-head-row/inline-size}.lc-head>.lc-card{flex:1 1 0;min-width:0}@container lc-head-row (width<=
|
|
8916
|
+
const css$13 = ".lc-root{box-sizing:border-box;height:100%;color:var(--dsw-alias-label-primary);padding:16px 20px 32px;font-size:13px;overflow-y:auto}[data-sidebar-right-open] .lc-root,[data-sidebar-right-float-host] .lc-root{height:auto;padding:12px;overflow:visible}.lc-title-icon{flex:none}.lc-title-label{padding-right:30px}.lc-card{background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;margin-bottom:14px;padding:14px 16px}.lc-root .lc-card{margin-bottom:7px;padding:7px 8px;container:lc-card/inline-size}.lc-root .lc-cols{gap:7px;margin-bottom:7px}.lc-card-title{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.lc-card-title-text{white-space:nowrap;flex:none}.lc-gran,.lc-kinds{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;gap:2px;margin-left:auto;padding:1px;display:flex}.lc-trend-ctl{align-items:center;gap:6px;margin-left:auto;display:flex}.lc-trend-ctl .lc-gran{margin-left:0}.lc-trend-adaptive{flex:none;margin-left:0}.lc-gran-btn{color:var(--dsw-alias-label-secondary);cursor:pointer;transition:color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);background:0 0;border:0;border-radius:5px;padding:3px 8px;font-family:inherit;font-size:11px;line-height:1}.lc-gran-btn:hover{color:var(--dsw-alias-label-primary)}.lc-gran-on,.lc-gran-on:hover{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-foreground)}.lc-tip{z-index:6;background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);width:max-content;color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv3,0 2px 8px #0000002e);pointer-events:none;opacity:0;transition:opacity var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:6px;padding:6px 10px;font-size:12px;position:absolute}.lc-events,.lc-fa-list{flex-direction:column;gap:2px;height:320px;display:flex;overflow-y:auto}.lc-cols{flex-wrap:wrap;gap:14px;margin-bottom:14px;display:flex}.lc-col{flex:1;min-width:min(360px,100%)}.lc-cols>.lc-card,.lc-col>.lc-card:last-child{margin-bottom:0}.lc-col-browser{flex-direction:column;display:flex}.lc-col-browser>.lc-card{flex:1}.lc-head{container:lc-head-row/inline-size}.lc-head>.lc-card{flex:1 1 0;min-width:0}@container lc-head-row (width<=940px){.lc-head>.lc-card{flex-basis:40%}}@container lc-head-row (width<=480px){.lc-head>.lc-card{flex-basis:100%}}.lc-head>.lc-card:first-child{flex-direction:column;display:flex}.lc-head>.lc-card:first-child .lc-stats{flex:1;align-content:stretch}.lc-head>.lc-card:first-child .lc-stat{justify-content:center}.lc-empty{color:var(--dsw-alias-label-secondary);text-align:center;padding:18px 0}.lc-error{flex-direction:column;align-items:center;gap:8px;padding:40px 16px;display:flex}.lc-error-msg{font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);overflow-wrap:anywhere;border-radius:6px;max-width:100%;padding:4px 8px;font-size:12px}.lc-error-retry{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;transition:border-color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:6px;padding:4px 14px;font-size:12px}.lc-error-retry:hover{border-color:var(--dsw-alias-label-primary)}.lc-foot{color:var(--dsw-alias-label-secondary);margin-top:4px;font-size:12px}[data-conversation-scroll]:has(.lc-root)>[data-composer-seat]:not(:has([data-approval-key],[data-question-key],[data-plan-review-key])),[data-conversation-scroll]:has(.lc-root,.lc-modal-backdrop)~[data-width-handle]{display:none}";
|
|
8864
8917
|
const tagId$13 = "dsh-context/base.css";
|
|
8865
8918
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$13) + "]") === null) {
|
|
8866
8919
|
const tag = document.createElement("style");
|
|
@@ -8871,7 +8924,7 @@ window.__ModuleLoader__.load({
|
|
|
8871
8924
|
}
|
|
8872
8925
|
//#endregion
|
|
8873
8926
|
//#region \0dsh-global-css:/home/runner/work/dsh-context/dsh-context/src/client/styles/stats.css.mjs
|
|
8874
|
-
const css$12 = ".lc-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.lc-stat{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:8px;flex-direction:column;gap:2px;min-width:0;padding:6px;display:flex}.lc-stats .lc-stat{padding:6px 3px}.lc-stats .lc-stat-q{margin:0;position:absolute;top:3px;right:4px}.lc-stat-label{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.lc-stat-value{color:var(--dsw-alias-label-primary);white-space:nowrap;text-overflow:ellipsis;text-align:center;font-size:14px;font-weight:600;overflow:hidden}.lc-stat-sub{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.lc-stat-tipped{position:relative}.lc-stat-q{text-align:center;width:11px;height:11px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);cursor:help;transition:color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out), border-color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:50%;margin-left:4px;font-size:9px;font-style:normal;font-weight:700;line-height:11px;display:inline-block}.lc-stat-tipped:hover .lc-stat-q{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-primary)}.lc-stat-tip{max-width:280px;font-weight:400;line-height:1.5;top:calc(100% + 6px);left:0}.lc-stat-tipped:hover .lc-stat-tip{opacity:1}.lc-stat-tip-prices{border-top:1px dashed var(--dsw-alias-border-l1);margin-top:5px;padding-top:5px;display:block}.lc-stat-tip-head{font-weight:600;display:block}.lc-stat-tip-row{margin-top:2px;display:block}.lc-stat-tip-model{color:var(--dsw-alias-label-primary)}.lc-card-sub{color:var(--dsw-alias-label-secondary);margin-left:auto;font-size:12px;font-weight:400}.lc-overview-num{align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.lc-overview-num>b{font-size:20px}.lc-overview-num span{color:var(--dsw-alias-label-secondary)}.lc-overview-pct{margin-left:auto;font-size:11px}.lc-overview-pct b{color:var(--dsw-alias-label-primary);margin-right:4px;font-size:20px}.lc-stat-head{color:var(--dsw-alias-label-secondary);margin:12px 0 8px;font-size:11px;font-weight:600}.lc-donut-row{justify-content:flex-start;align-items:center;gap:12px;min-width:0;display:flex}.lc-col-donut{flex-direction:column;display:flex}.lc-col-donut .lc-donut-row{flex:1}.lc-donut-row .lc-sl{flex:auto}.lc-donut{flex:none;position:relative}.lc-donut svg{display:block}.lc-donut-track{stroke:#8080802e}.lc-donut-seg{transition:opacity var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out)}.lc-donut-dim .lc-donut-seg{opacity:.35}.lc-donut-dim .lc-donut-seg-on{opacity:1}.lc-donut-center{pointer-events:none;text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0 7px;display:flex;position:absolute;inset:0}.lc-donut-center b{white-space:nowrap;text-overflow:ellipsis;max-width:100%;line-height:1.15;overflow:hidden}.lc-donut-center span{color:var(--dsw-alias-label-secondary);white-space:nowrap}.lc-sl{flex-direction:column;gap:
|
|
8927
|
+
const css$12 = ".lc-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.lc-stat{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:8px;flex-direction:column;gap:2px;min-width:0;padding:6px;display:flex}.lc-stats .lc-stat{padding:6px 3px}.lc-stats .lc-stat-q{margin:0;position:absolute;top:3px;right:4px}.lc-stat-label{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.lc-stat-value{color:var(--dsw-alias-label-primary);white-space:nowrap;text-overflow:ellipsis;text-align:center;font-size:14px;font-weight:600;overflow:hidden}.lc-stat-sub{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.lc-stat-tipped{position:relative}.lc-stat-q{text-align:center;width:11px;height:11px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);cursor:help;transition:color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out), border-color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:50%;margin-left:4px;font-size:9px;font-style:normal;font-weight:700;line-height:11px;display:inline-block}.lc-stat-tipped:hover .lc-stat-q{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-primary)}.lc-stat-tip{max-width:280px;font-weight:400;line-height:1.5;top:calc(100% + 6px);left:0}.lc-stat-tipped:hover .lc-stat-tip{opacity:1}.lc-stat-tip-prices{border-top:1px dashed var(--dsw-alias-border-l1);margin-top:5px;padding-top:5px;display:block}.lc-stat-tip-head{font-weight:600;display:block}.lc-stat-tip-row{margin-top:2px;display:block}.lc-stat-tip-model{color:var(--dsw-alias-label-primary)}.lc-card-sub{color:var(--dsw-alias-label-secondary);margin-left:auto;font-size:12px;font-weight:400}.lc-overview-num{align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.lc-overview-num>b{font-size:20px}.lc-overview-num span{color:var(--dsw-alias-label-secondary)}.lc-overview-pct{margin-left:auto;font-size:11px}.lc-overview-pct b{color:var(--dsw-alias-label-primary);margin-right:4px;font-size:20px}.lc-stat-head{color:var(--dsw-alias-label-secondary);margin:12px 0 8px;font-size:11px;font-weight:600}.lc-donut-row{justify-content:flex-start;align-items:center;gap:12px;min-width:0;display:flex}.lc-col-donut{flex-direction:column;display:flex}.lc-col-donut .lc-donut-row{flex:1}.lc-donut-row .lc-sl{flex:auto}.lc-donut{flex:none;position:relative}.lc-donut svg{display:block}.lc-donut-track{stroke:#8080802e}.lc-donut-seg{transition:opacity var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out)}.lc-donut-dim .lc-donut-seg{opacity:.35}.lc-donut-dim .lc-donut-seg-on{opacity:1}.lc-donut-center{pointer-events:none;text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0 7px;display:flex;position:absolute;inset:0}.lc-donut-center b{white-space:nowrap;text-overflow:ellipsis;max-width:100%;line-height:1.15;overflow:hidden}.lc-donut-center span{color:var(--dsw-alias-label-secondary);white-space:nowrap}.lc-sl{flex-direction:column;gap:4px;min-width:0;display:flex;overflow:hidden}.lc-sl-row{min-width:0;transition:background-color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:6px;flex-direction:column;gap:1px;margin:0 -6px;padding:1px 6px;font-size:12px;display:flex}.lc-sl-row-on{background:var(--dsw-alias-interactive-bg-hover)}.lc-sl-row-dim{opacity:.55}.lc-sl-main{align-items:center;gap:6px;min-width:0;display:flex}.lc-sl-dot{border-radius:2px;flex:none;width:8px;height:8px}.lc-sl-label{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-weight:600;line-height:1.25;overflow:hidden}.lc-sl-pct{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:34px;font-weight:700}.lc-sl-sub{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-left:14px;font-size:11px;line-height:1.3;overflow:hidden}.lc-pi-grid{grid-template-columns:1fr;gap:8px;display:grid}.lc-pi-row-btn{appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0}.lc-pi-row{min-width:0;color:inherit;flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px;text-decoration:none;display:flex}.lc-pi-row:hover .lc-pi-value{text-decoration:underline}.lc-pi-hint{text-decoration:none}.lc-pi-hint:hover{text-decoration:underline}.lc-pi-update{color:var(--dsw-alias-state-warn-primary);white-space:nowrap;margin-left:6px;font-size:11px}.lc-pi-label{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:11px;font-weight:600;overflow:hidden}.lc-pi-value{min-width:0;color:var(--dsw-alias-label-primary);white-space:nowrap;text-overflow:ellipsis;text-align:right;font-size:13px;font-weight:600;overflow:hidden}.lc-pi-row-btn .lc-pi-value{font-weight:400}@container lc-card (width<=320px){.lc-donut-row{gap:8px}.lc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@container lc-card (width<=240px){.lc-donut-row{flex-wrap:wrap}.lc-donut{margin:0 auto}.lc-donut-row .lc-sl{flex-basis:100%}}";
|
|
8875
8928
|
const tagId$12 = "dsh-context/stats.css";
|
|
8876
8929
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$12) + "]") === null) {
|
|
8877
8930
|
const tag = document.createElement("style");
|
|
@@ -8915,7 +8968,7 @@ window.__ModuleLoader__.load({
|
|
|
8915
8968
|
}
|
|
8916
8969
|
//#endregion
|
|
8917
8970
|
//#region \0dsh-global-css:/home/runner/work/dsh-context/dsh-context/src/client/styles/trendChart.css.mjs
|
|
8918
|
-
const css$8 = ".lc-chartrow{align-items:stretch;gap:6px;display:flex}.lc-axis{box-sizing:border-box;width:40px;height:150px;color:var(--dsw-alias-label-secondary);padding-top:18px;font-size:11px;position:relative}.lc-axis span{line-height:1;position:absolute;right:0}.lc-axis-top{top:13px}.lc-axis-q3{top:41px}.lc-axis-mid{top:69px}.lc-axis-q1{top:97px}.lc-axis-bot{top:125px}.lc-chart-wrap{flex:1;min-width:0;position:relative}.lc-chart-scroll{overscroll-behavior-x:contain;scrollbar-gutter:stable;padding-bottom:var(--dsh-scrollbar-width,8px);overflow:auto hidden}.lc-chart{box-sizing:border-box;align-items:flex-end;gap:2px;width:max-content;min-width:100%;height:130px;padding-top:18px;display:flex;position:relative}.lc-grid{border-top:1px dashed var(--dsw-alias-border-l2);pointer-events:none;position:absolute;left:0;right:0}.lc-grid-top{top:18px}.lc-grid-q3{top:46px}.lc-grid-mid{top:74px}.lc-grid-q1{top:102px}.lc-grid-zero{border-top-style:solid;border-top-color:#80808080;top:130px}.lc-bar{cursor:pointer;outline-offset:1px;width:14px;height:100%;transition:opacity var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out), background-color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out), outline-color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:2px;outline:1px dashed #0000;flex:none;align-items:flex-end;display:flex;position:relative}.lc-chart-dim .lc-bar{opacity:.35}.lc-chart-dim .lc-bar-in-turn{opacity:1}.lc-chart-dim .lc-turn{opacity:.35}.lc-chart-dim .lc-turn-on{opacity:1}.lc-chart-tip{z-index:5;box-sizing:border-box;overflow-wrap:break-word;background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);max-width:100%;color:var(--dsw-alias-label-primary);pointer-events:none;border-radius:6px;flex-direction:column;gap:2px;padding:3px 8px;font-size:12px;display:flex;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 2px 8px #0000002e}.lc-bar:hover{background:var(--dsw-alias-bg-layer-2)}.lc-bar-hovered{outline-color:var(--dsw-alias-brand-primary)}.lc-bar-selected{outline:2px solid var(--dsw-alias-label-primary);outline-offset:1px}.lc-bar-in-turn{background:#80808024}.lc-bar-stack{flex-direction:column-reverse;width:100%;display:flex}.lc-bar-stack>div{width:100%}.lc-bar-stack>div:first-child{border-radius:0 0 2px 2px}.lc-bar-stack>div:last-child{border-radius:2px 2px 0 0}.lc-bar-stack>div:only-child{border-radius:2px}.lc-bar-up,.lc-bar-down{width:100%;display:flex;position:absolute;left:0}.lc-bar-up{flex-direction:column-reverse}.lc-bar-down{flex-direction:column}.lc-bar-up>div,.lc-bar-down>div{width:100%}.lc-bar-up>div:last-child{border-radius:2px 2px 0 0}.lc-bar-down>div:last-child{border-radius:0 0 2px 2px}.lc-cat-seg{transition:filter var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out), opacity var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out)}.lc-chart[data-catdim] .lc-cat-seg{opacity:.35}.lc-chart[data-catdim=system] .lc-cat-seg[data-cat=system],.lc-chart[data-catdim=tools] .lc-cat-seg[data-cat=tools],.lc-chart[data-catdim=user] .lc-cat-seg[data-cat=user],.lc-chart[data-catdim=inject] .lc-cat-seg[data-cat=inject],.lc-chart[data-catdim=assistant] .lc-cat-seg[data-cat=assistant],.lc-chart[data-catdim=tool] .lc-cat-seg[data-cat=tool]{opacity:1;filter:brightness(1.18)}.lc-bar-marker{color:var(--dsw-alias-state-warn-primary);font-size:11px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.lc-turns{gap:2px;width:max-content;min-width:100%;margin-top:4px;display:flex;overflow:hidden}.lc-turn{box-sizing:border-box;text-align:center;color:var(--dsw-alias-label-secondary);white-space:nowrap;cursor:pointer;height:14px;transition:filter var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out), opacity var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:3px;flex:none;font-size:10px;font-weight:600;line-height:14px}.lc-turn-on{filter:brightness(1.35);color:var(--dsw-alias-label-primary)}.lc-turn-label{display:inline-block}";
|
|
8971
|
+
const css$8 = ".lc-chartrow{align-items:stretch;gap:6px;display:flex}.lc-axis{box-sizing:border-box;width:40px;height:150px;color:var(--dsw-alias-label-secondary);padding-top:18px;font-size:11px;position:relative}.lc-axis span{line-height:1;position:absolute;right:0}.lc-axis-top{top:13px}.lc-axis-q3{top:41px}.lc-axis-mid{top:69px}.lc-axis-q1{top:97px}.lc-axis-bot{top:125px}.lc-chart-wrap{flex:1;min-width:0;position:relative}.lc-chart-scroll{overscroll-behavior-x:contain;scrollbar-gutter:stable;padding-bottom:var(--dsh-scrollbar-width,8px);overflow:auto hidden}.lc-chart{box-sizing:border-box;align-items:flex-end;gap:2px;width:max-content;min-width:100%;height:130px;padding-top:18px;display:flex;position:relative}.lc-grid{border-top:1px dashed var(--dsw-alias-border-l2);pointer-events:none;position:absolute;left:0;right:0}.lc-grid-top{top:18px}.lc-grid-q3{top:46px}.lc-grid-mid{top:74px}.lc-grid-q1{top:102px}.lc-grid-zero{border-top-style:solid;border-top-color:#80808080;top:130px}.lc-bar{cursor:pointer;outline-offset:1px;width:14px;height:100%;transition:opacity var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out), background-color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out), outline-color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:2px;outline:1px dashed #0000;flex:none;align-items:flex-end;display:flex;position:relative}.lc-chart-dim .lc-bar{opacity:.35}.lc-chart-dim .lc-bar-in-turn{opacity:1}.lc-chart-dim .lc-turn{opacity:.35}.lc-chart-dim .lc-turn-on{opacity:1}.lc-chart-tip{z-index:5;box-sizing:border-box;overflow-wrap:break-word;background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);max-width:100%;color:var(--dsw-alias-label-primary);pointer-events:none;border-radius:6px;flex-direction:column;gap:2px;padding:3px 8px;font-size:12px;display:flex;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 2px 8px #0000002e}.lc-chart-tip span+span{color:var(--dsw-alias-label-secondary)}.lc-bar:hover{background:var(--dsw-alias-bg-layer-2)}.lc-bar-hovered{outline-color:var(--dsw-alias-brand-primary)}.lc-bar-selected{outline:2px solid var(--dsw-alias-label-primary);outline-offset:1px}.lc-bar-in-turn{background:#80808024}.lc-bar-stack{flex-direction:column-reverse;width:100%;display:flex}.lc-bar-stack>div{width:100%}.lc-bar-stack>div:first-child{border-radius:0 0 2px 2px}.lc-bar-stack>div:last-child{border-radius:2px 2px 0 0}.lc-bar-stack>div:only-child{border-radius:2px}.lc-bar-up,.lc-bar-down{width:100%;display:flex;position:absolute;left:0}.lc-bar-up{flex-direction:column-reverse}.lc-bar-down{flex-direction:column}.lc-bar-up>div,.lc-bar-down>div{width:100%}.lc-bar-up>div:last-child{border-radius:2px 2px 0 0}.lc-bar-down>div:last-child{border-radius:0 0 2px 2px}.lc-cat-seg{transition:filter var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out), opacity var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out)}.lc-chart[data-catdim] .lc-cat-seg{opacity:.35}.lc-chart[data-catdim=system] .lc-cat-seg[data-cat=system],.lc-chart[data-catdim=tools] .lc-cat-seg[data-cat=tools],.lc-chart[data-catdim=user] .lc-cat-seg[data-cat=user],.lc-chart[data-catdim=inject] .lc-cat-seg[data-cat=inject],.lc-chart[data-catdim=assistant] .lc-cat-seg[data-cat=assistant],.lc-chart[data-catdim=tool] .lc-cat-seg[data-cat=tool]{opacity:1;filter:brightness(1.18)}.lc-bar-marker{color:var(--dsw-alias-state-warn-primary);font-size:11px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.lc-turns{gap:2px;width:max-content;min-width:100%;margin-top:4px;display:flex;overflow:hidden}.lc-turn{box-sizing:border-box;text-align:center;color:var(--dsw-alias-label-secondary);white-space:nowrap;cursor:pointer;height:14px;transition:filter var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out), opacity var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:3px;flex:none;font-size:10px;font-weight:600;line-height:14px}.lc-turn-on{filter:brightness(1.35);color:var(--dsw-alias-label-primary)}.lc-turn-label{display:inline-block}";
|
|
8919
8972
|
const tagId$8 = "dsh-context/trendChart.css";
|
|
8920
8973
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$8) + "]") === null) {
|
|
8921
8974
|
const tag = document.createElement("style");
|
|
@@ -8970,7 +9023,7 @@ window.__ModuleLoader__.load({
|
|
|
8970
9023
|
}
|
|
8971
9024
|
//#endregion
|
|
8972
9025
|
//#region \0dsh-global-css:/home/runner/work/dsh-context/dsh-context/src/client/styles/browser.css.mjs
|
|
8973
|
-
const css$3 = ".lc-br-dna-ctl{flex:none;margin-left:0}.lc-br-bar-dna .lc-stacked-seg{background-image:linear-gradient(to right, transparent calc(100% - min(.5px, 12.5%)), var(--dsw-alias-bg-layer-1) 0)}.lc-br-hint{color:var(--dsw-alias-label-secondary);white-space:nowrap;margin-left:auto;font-size:11px;font-weight:400}.lc-br-pick{font:inherit;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;max-width:240px;padding:3px 6px;font-size:12px}.lc-br-meta{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:6px 16px;margin-bottom:8px;display:flex}.lc-br-meta b{color:var(--dsw-alias-label-primary)}.lc-br-meta .lc-
|
|
9026
|
+
const css$3 = ".lc-br-dna-ctl{flex:none;margin-left:0}.lc-br-bar-dna .lc-stacked-seg{background-image:linear-gradient(to right, transparent calc(100% - min(.5px, 12.5%)), var(--dsw-alias-bg-layer-1) 0)}.lc-br-hint{color:var(--dsw-alias-label-secondary);white-space:nowrap;margin-left:auto;font-size:11px;font-weight:400}.lc-br-pick{font:inherit;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;max-width:240px;padding:3px 6px;font-size:12px}.lc-br-meta{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:6px 16px;margin-bottom:8px;display:flex}.lc-br-meta b{color:var(--dsw-alias-label-primary)}.lc-br-meta .lc-est{margin-left:auto}.lc-br-note{color:var(--dsw-alias-label-secondary);margin-top:8px;font-size:12px}.lc-br-retry{color:var(--dsw-alias-brand-primary);font:inherit;cursor:pointer;text-underline-offset:2px;transition:filter var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.lc-br-retry:hover{filter:brightness(1.15)}.lc-br-cats{flex-direction:column;gap:4px;margin-top:10px;display:flex}.lc-br-cat{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:8px;overflow:hidden}.lc-br-cat-empty{opacity:.55}.lc-br-cat-row{width:100%;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;text-align:left;transition:background-color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px;display:flex}.lc-br-cat-row:hover,.lc-br-cat-on{background:var(--dsw-alias-interactive-bg-hover)}.lc-br-cat-on i{box-shadow:0 0 0 1px var(--dsw-alias-brand-primary)}.lc-br-cat-row i{width:8px;height:8px;transition:box-shadow var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-radius:2px;flex:none;display:inline-block}.lc-br-cat-label{font-weight:600}.lc-br-cat-count{color:var(--dsw-alias-label-secondary);white-space:nowrap;font-size:12px}.lc-br-count-grp{flex:1;align-items:center;gap:4px;min-width:0;display:inline-flex}.lc-br-chev{width:12px;height:14px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;display:flex}.lc-br-chev:before{content:\"\";width:5px;height:5px;transition:transform var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);border-bottom:1px solid;border-right:1px solid;transform:rotate(-45deg)}.lc-br-chev-on:before{transform:rotate(45deg)}.lc-br-tokens{color:var(--dsw-alias-label-secondary);flex:none;font-size:12px}.lc-br-delta,.lc-br-tdelta{white-space:nowrap;border-radius:4px;flex:none;padding:0 5px;font-size:11px;font-weight:600}.lc-br-delta-up,.lc-br-tdelta-up{color:var(--dsw-alias-state-success-primary);background:color-mix(in srgb, var(--dsw-alias-state-success-primary) 15%, transparent)}.lc-br-delta-down,.lc-br-tdelta-down{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 15%, transparent)}.lc-br-tokens-grp{flex:none;align-items:center;gap:4px;min-width:0;display:inline-flex}.lc-br-pct{text-align:right;width:36px;color:var(--dsw-alias-label-secondary);flex:none;font-size:12px}.lc-br-body{border-top:1px solid var(--dsw-alias-border-l1);flex-direction:column;gap:2px;padding:4px 6px;display:flex}.lc-br-elem{border-radius:6px}.lc-br-elem-on{background:var(--dsw-alias-interactive-bg-active)}.lc-br-elem-row{width:100%;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;text-align:left;transition:background-color var(--ds-transition-duration,.2s) var(--ds-ease-in-out,ease-in-out);background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:5px 6px;font-size:12px;display:flex}.lc-br-elem-row:hover{background:var(--dsw-alias-interactive-bg-hover)}.lc-br-err-dot{background:var(--dsw-alias-state-error-primary);width:6px;height:6px;box-shadow:0 0 0 2px color-mix(in srgb, var(--dsw-alias-state-error-primary) 10%, transparent);border-radius:50%;flex:none}.lc-br-tag{min-width:0;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l1);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:220px;padding:0 6px;font-size:11px;overflow:hidden}.lc-br-tool-plugin{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 14%, transparent);border-color:#0000;border-radius:6px;font-size:12px}.lc-br-preview{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lc-br-time{color:var(--dsw-alias-label-secondary);flex:none;font-size:11px}.lc-br-content{flex-direction:column;gap:6px;padding:2px 6px 8px 26px;display:flex}.lc-br-dim{color:var(--dsw-alias-label-secondary)}";
|
|
8974
9027
|
const tagId$3 = "dsh-context/browser.css";
|
|
8975
9028
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
8976
9029
|
const tag = document.createElement("style");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-context",
|
|
3
|
-
"version": "0.49.
|
|
3
|
+
"version": "0.49.2",
|
|
4
4
|
"description": "A DeepSeek Harness plugin for context insight and management, with context dashboard and context command, for understanding how the context is made of, and how it evolves.",
|
|
5
5
|
"author": "bowenliang123",
|
|
6
6
|
"repository": {
|
|
@@ -126,6 +126,5 @@
|
|
|
126
126
|
"typescript": "^7.0.2",
|
|
127
127
|
"vitest": "^4.1.11",
|
|
128
128
|
"zod": "^4.4.3"
|
|
129
|
-
}
|
|
130
|
-
"packageManager": "pnpm@11.9.0"
|
|
129
|
+
}
|
|
131
130
|
}
|