dsh-reasoning-distill 0.1.4 → 0.1.6
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 +12 -0
- package/README.md +20 -6
- package/lib/client/index.js +96 -67
- package/lib/client/index.js.map +1 -1
- package/lib/index.js +92 -150
- package/package.json +9 -2
- package/scripts/probe-inplace-durability.mjs +20 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
本插件的版本变更记录。
|
|
4
4
|
|
|
5
|
+
## 0.1.6
|
|
6
|
+
|
|
7
|
+
- **新增:按上下文占用限制触发**。默认规则和逐模型规则各多一个开关 + 「最高生效时上下文占用(%)」(默认开、60%)。上下文占用超过该比例时,即使单步思考达到阈值也不再压缩——否则压缩刚生效、没几轮就被宿主内置的整体压缩收走,白花一次蒸馏的钱。占用值直接读宿主 token-meter 的度量与模型上下文窗口,与内置上下文压缩触发读的是同一个值,整体压缩后会同步变短;宿主读不到该值时功能不生效(不拦)。关闭开关时与旧行为一致,输入框变灰。
|
|
8
|
+
- **修复:压缩会话不再落盘**。压缩用的旁路会话改为纯内存:运行期间可以点开,重启后过期(报告显示「会话已随上次运行结束」),不再在重启后依旧可以打开。顺带移除了只为持久写句柄存在的账本与提示。
|
|
9
|
+
- README 补充上述两项说明。
|
|
10
|
+
|
|
11
|
+
## 0.1.5
|
|
12
|
+
|
|
13
|
+
- **适配 DSH `0.2.0-rc.1` ~ `0.2.1-rc.1`**:in-place 补丁在每个版本上 `--apply` → `--check` → `--revert` 全部通过(回退后工作树逐字节干净),打过补丁的包 `tsc -b` 通过,持久化探针(none / zstd)通过;兼容范围写进 `dsh.compatibility.dshReleases`。
|
|
14
|
+
- `scripts/probe-inplace-durability.mjs` 同时适配 jsonl 后端的两种导出形态:`0.2.1-alpha.2` 及以前是 default export 的提供者类,`0.2.1-alpha.3` 起是 `name` + `apply` 的 Cordis 插件。
|
|
15
|
+
- README 开头补充「版本与安装方式」:可能适配的版本范围、已知可运行 in-place 的版本(`0.2.1-alpha.1`、`0.2.1-alpha.5`),以及「想要全部功能与最佳体验请用从源码构建的 DSH」。
|
|
16
|
+
|
|
5
17
|
## 0.1.4
|
|
6
18
|
|
|
7
19
|
- **in-place 宿主补丁现在自动适配 `0.2.1-alpha.1` ~ `0.2.1-alpha.5`**:同一个编辑点可以带多组完整锚点,脚本按宿主实际形态挑**恰好匹配的一组**;一组都不匹配、或有多组命中,仍然整体拒绝、不做部分写入。
|
package/README.md
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
> 插件**默认关闭**,装好后需要在「设置 → 思考压缩」里选中一个改写后端并手动打开总开关。
|
|
6
6
|
|
|
7
|
+
> **版本与安装方式(先看这里)**
|
|
8
|
+
>
|
|
9
|
+
> - **可能适配的 DSH 版本**:`0.2.0-rc.1` ~ `0.2.1-rc.1`。这一范围内的补丁、类型与语义都逐版本验证过,明细见下文「经过测试的 DSH 版本」。
|
|
10
|
+
> - **已知可以正常运行 in-place 后端**的版本:`0.2.1-alpha.1`、`0.2.1-alpha.5`。
|
|
11
|
+
> - **想要全部功能与最佳体验,请使用从源码构建的 DSH**(clone 官方仓库后从源码运行或构建)。**从 npm 直接下载的版本**和**第三方打包版**(例如 dsh-desktop)无法给宿主源码打补丁,in-place 后端用不了,只能退而使用 message-edit。
|
|
12
|
+
|
|
7
13
|
---
|
|
8
14
|
|
|
9
15
|
## 一、它做什么
|
|
@@ -36,11 +42,17 @@
|
|
|
36
42
|
|
|
37
43
|
#### 经过测试的 DSH 版本
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
分三档看,别把"补丁能打上"当成"整套在真实会话里跑过":
|
|
46
|
+
|
|
47
|
+
| 档位 | 覆盖的版本 | 做到了什么 |
|
|
48
|
+
| --- | --- | --- |
|
|
49
|
+
| 已知可运行 in-place | `0.2.1-alpha.1`、`0.2.1-alpha.5` | alpha.1 是本插件开发机(补丁已长期在真实会话中使用);alpha.5 是反馈该问题的用户所在版本,补丁与插件均确认可用 |
|
|
50
|
+
| 完整启动 | `0.2.1-rc.1` | 独立 clone 全量构建后装入插件并启动 `web`,插件的安装页与报告页路由都能正常应答 |
|
|
51
|
+
| 补丁 + 类型 + 语义 | `0.2.0-rc.1`、`0.2.0-rc.2`、`0.2.1-alpha.1`~`0.2.1-alpha.5`、`0.2.1-rc.1` | 独立 clone 上逐版本 `--apply` → `--check` → `--revert`(回退后工作树逐字节干净)、打过补丁的包 `tsc -b` 通过、持久化探针 `scripts/probe-inplace-durability.mjs` 通过(none 与 zstd)、插件依赖的宿主 API 兼容探针通过 |
|
|
52
|
+
|
|
53
|
+
- 也就是说:**在 0.2.x 范围内,in-place 补丁与插件的宿主 API 都有逐版本实测依据**;其中 `0.2.1-alpha.1` 与 `0.2.1-alpha.5` 已知可正常运行 in-place,完整启动验证过的是 `0.2.1-rc.1`。其余版本请先在可回退的环境里试。
|
|
54
|
+
- 版本差异最大的一处:`packages/session/session-persistence-jsonl/src/storage.ts` 的 `install()` 从 `0.2.1-alpha.3` 起改成了 generator effect + 闭包变量(`writers` 取代 `this.writers`,在 generator 内部 `this` 已不是那个实例)。补丁脚本为此处带**两份锚点**,会按宿主实际形态自动选择匹配的那份。
|
|
55
|
+
- `scripts/probe-inplace-durability.mjs` 同时适配了 jsonl 后端的两种导出形态:`0.2.1-alpha.2` 及以前 default export 提供者类,`0.2.1-alpha.3` 起是 `name` + `apply` 的 Cordis 插件。
|
|
44
56
|
|
|
45
57
|
### 旧后端 `message-edit`(保留兼容,不推荐)
|
|
46
58
|
|
|
@@ -146,6 +158,7 @@ node scripts/dsh-inplace-patch.mjs --check # 打全了输出 PATCHED
|
|
|
146
158
|
| 对一次性子代理启用(`oneShotSubagents`) | 是否压缩跑完即结束的一次性委派。默认关,因为它的最终回答之后没有任何请求会重放这次压缩。 |
|
|
147
159
|
| 最大生效深度(`continuableMaxDepth` / `oneShotMaxDepth`) | 两个子代理开关各自带一个深度上限:比该深度更深的子孙代理不再压缩,0 表示不限制。 |
|
|
148
160
|
| 触发阈值(`thresholdTokens`) | 一步思考估算超过多少 token 才触发,默认 4000。 |
|
|
161
|
+
| 按上下文占用限制触发(`contextCap` / `maxContextPercent`) | 默认开、60%。该模型的上下文占用超过这个比例时,即使单步思考达到阈值也不再压缩——否则压缩刚生效、没几轮就被宿主内置的上下文整体压缩收走,白花一次蒸馏的钱。占用比例用宿主自己的 token 计量与上下文窗口计算,和内置上下文压缩触发读的是同一个值,整段压缩后会自动变短。关闭时不看占用比例(与旧行为一致),比例输入框会变灰。 |
|
|
149
162
|
| 最低节省(`minSavedTokens`) | 压缩结果至少要比原文省这么多 token 才采用,默认 600;未达到时原文保持不变,但这次蒸馏的开销照样计入。 |
|
|
150
163
|
| 附带工具调用结果(`includeToolResults`) | 交给蒸馏模型的上下文里是否附上该步工具调用的结果;工具调用本身始终附带。 |
|
|
151
164
|
| 压缩最终回答轮(`includeFinalTurns`) | 是否压缩没有工具调用的收尾步(最终回答)。 |
|
|
@@ -190,4 +203,5 @@ node scripts/dsh-inplace-patch.mjs --check # 打全了输出 PATCHED
|
|
|
190
203
|
- **当前单次请求减量**:当前生效的改写让**这一次**请求少带的估算 token,是存量而不是累计;改写被整段压缩淘汰后相应减少,全部淘汰归零。
|
|
191
204
|
- **历史累计节省**:永不重置。
|
|
192
205
|
- **净收益** = 历史累计节省 − 蒸馏开销 − 缓存断裂开销。
|
|
193
|
-
-
|
|
206
|
+
- **最近一步未触发的原因**:面板会直接给出(总开关关、未选择后端、规则关、未到阈值、上下文占用超过上限、这一步没有思考、有多个思考块、有后台工作在跑等)。
|
|
207
|
+
- **压缩会话**:每次蒸馏都会开一个旁路会话,用来查看这次压缩的提示词与回答。它**只存在于内存里、不写盘**:本次运行期间可以点开,重启后自动过期,报告里会显示"会话已随上次运行结束(内容见下方明细)"——完整内容本来就在明细里。
|
package/lib/client/index.js
CHANGED
|
@@ -242,7 +242,6 @@ window.__ModuleLoader__.load({
|
|
|
242
242
|
//#region src/client/locales.ts
|
|
243
243
|
const NS = "reasoningDistill";
|
|
244
244
|
const zh = {
|
|
245
|
-
"view.auditUndurable": "未写入持久日志(当前可打开,重启后消失)",
|
|
246
245
|
"view.notTriggered": "最近一步未触发",
|
|
247
246
|
"view.why.master-switch-off": "总开关是关的",
|
|
248
247
|
"view.why.no-backend": "没有选择改写后端",
|
|
@@ -260,6 +259,7 @@ window.__ModuleLoader__.load({
|
|
|
260
259
|
"view.why.abandoned-or-record-unreadable": "记录不可读或这一步已被放弃",
|
|
261
260
|
"view.why.message-unreadable": "消息内容读不出来",
|
|
262
261
|
"view.why.model-unknown": "回答的模型未知",
|
|
262
|
+
"view.why.context-cap": "上下文占用已超过该规则的上限,这一步不再压缩",
|
|
263
263
|
"view.sessions": "压缩会话",
|
|
264
264
|
"view.sessionExpired": "会话已随上次运行结束(内容见下方明细)",
|
|
265
265
|
"settings.maxInput": "背景块长度上限(字符)",
|
|
@@ -350,6 +350,9 @@ window.__ModuleLoader__.load({
|
|
|
350
350
|
"settings.prompt": "蒸馏提示词",
|
|
351
351
|
"settings.enabled": "对主对话启用",
|
|
352
352
|
"settings.threshold": "触发阈值(token)",
|
|
353
|
+
"settings.contextCap": "按上下文占用限制触发",
|
|
354
|
+
"settings.maxContextPercent": "最高生效时上下文占用(%)",
|
|
355
|
+
"settings.contextCapHint": "开启后:当这个模型的上下文占用超过下面的比例时,即使思考长度达到阈值也不触发压缩——免得压缩完没几轮就被宿主内置的上下文整体压缩收走,白花钱。占用比例用宿主自己的 token 计量与上下文窗口计算,与内置上下文压缩触发读的是同一个值;整体压缩后占用会随之变短。关闭时不看占用比例(和原来一样),比例输入框变灰。默认开启,60%。",
|
|
353
356
|
"settings.minimum": "最低节省(token)",
|
|
354
357
|
"settings.tools": "附带工具调用结果",
|
|
355
358
|
"settings.final": "压缩最终回答轮",
|
|
@@ -457,7 +460,6 @@ window.__ModuleLoader__.load({
|
|
|
457
460
|
"view.historical": "(历史累计,含已被前文压缩淘汰的)"
|
|
458
461
|
};
|
|
459
462
|
const en = {
|
|
460
|
-
"view.auditUndurable": "not written to a persistent log (openable now, gone after a restart)",
|
|
461
463
|
"view.notTriggered": "the last step did not trigger",
|
|
462
464
|
"view.why.master-switch-off": "the master switch is off",
|
|
463
465
|
"view.why.no-backend": "no rewrite backend is selected",
|
|
@@ -475,6 +477,7 @@ window.__ModuleLoader__.load({
|
|
|
475
477
|
"view.why.abandoned-or-record-unreadable": "the record is unreadable or the step was abandoned",
|
|
476
478
|
"view.why.message-unreadable": "the message content could not be read",
|
|
477
479
|
"view.why.model-unknown": "the answering model is unknown",
|
|
480
|
+
"view.why.context-cap": "context occupancy is above this rule’s cap, so this step is left alone",
|
|
478
481
|
"view.sessions": "Distillation sessions",
|
|
479
482
|
"view.sessionExpired": "session ended with the previous run (full text below)",
|
|
480
483
|
"settings.maxInput": "Context block limit (chars)",
|
|
@@ -565,6 +568,9 @@ window.__ModuleLoader__.load({
|
|
|
565
568
|
"settings.prompt": "Distillation prompt",
|
|
566
569
|
"settings.enabled": "Enable for main conversations",
|
|
567
570
|
"settings.threshold": "Trigger threshold (tokens)",
|
|
571
|
+
"settings.contextCap": "Cap triggers by context occupancy",
|
|
572
|
+
"settings.maxContextPercent": "Highest occupancy for compression (%)",
|
|
573
|
+
"settings.contextCapHint": "On: once this model’s context occupancy is above the percentage below, a step is left alone even when its reasoning reaches the threshold — so the rewrite is not folded away by the host’s own compaction a few turns later. Occupancy uses the host’s token meter over the routed model’s context window, the same measurement its compaction trigger reads, so a compaction lowers it immediately. Off: occupancy is ignored (the old behavior) and the box is greyed out. On by default, 60%.",
|
|
568
574
|
"settings.minimum": "Minimum savings (tokens)",
|
|
569
575
|
"settings.tools": "Include tool results",
|
|
570
576
|
"settings.final": "Distill final-answer turns",
|
|
@@ -758,6 +764,8 @@ window.__ModuleLoader__.load({
|
|
|
758
764
|
oneShotSubagents: false,
|
|
759
765
|
oneShotMaxDepth: 0,
|
|
760
766
|
thresholdTokens: 4e3,
|
|
767
|
+
contextCap: true,
|
|
768
|
+
maxContextPercent: 60,
|
|
761
769
|
minSavedTokens: 600,
|
|
762
770
|
includeToolResults: true,
|
|
763
771
|
includeFinalTurns: true,
|
|
@@ -1325,7 +1333,7 @@ window.__ModuleLoader__.load({
|
|
|
1325
1333
|
}
|
|
1326
1334
|
//#endregion
|
|
1327
1335
|
//#region \0rd-css:/home/huhu233/otherProject/dsh-local-items/dsh-reasoning-distill/src/client/Settings.module.css.mjs
|
|
1328
|
-
const css$1 = ".jP3NOa_page{max-width:1020px;color:var(--dsw-alias-label-primary,#252b2d);margin:0 auto;padding:22px 24px 56px;font-size:13px;line-height:1.5}.jP3NOa_header,.jP3NOa_sectionHeading,.jP3NOa_actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.jP3NOa_header{border-bottom:1px solid var(--dsw-alias-border-l1,#dde2e1);padding-bottom:18px}.jP3NOa_header h2{margin:0;font-size:18px}.jP3NOa_section{border-bottom:1px solid var(--dsw-alias-border-l1,#dde2e1);padding:20px 0}.jP3NOa_section h3{margin:0 0 14px;font-size:15px}.jP3NOa_sectionHeading h3{margin:0 0 12px}.jP3NOa_toggle{cursor:pointer;align-items:center;gap:9px;min-height:32px;display:inline-flex}.jP3NOa_toggle input{accent-color:#218a77;width:16px;height:16px;margin:0}.jP3NOa_checks{flex-wrap:wrap;gap:8px 22px;display:flex}.jP3NOa_rule{gap:12px;display:grid}.jP3NOa_route{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.jP3NOa_field{gap:5px;min-width:0;display:grid}.jP3NOa_field span{color:var(--dsw-alias-label-secondary,#586366);font-size:12px}.jP3NOa_field input,.jP3NOa_field select,.jP3NOa_prompt{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1,#cbd5d3);background:var(--dsw-alias-bg-layer-1,#fff);width:100%;min-height:34px;color:var(--dsw-alias-label-primary,#252b2d);font:inherit;border-radius:5px;padding:6px 9px}.jP3NOa_field input:focus,.jP3NOa_field select:focus,.jP3NOa_prompt:focus{outline-offset:1px;outline:2px solid #218a77}.jP3NOa_item{border-top:1px solid var(--dsw-alias-border-l1,#dde2e1)}.jP3NOa_item:last-child{border-bottom:1px solid var(--dsw-alias-border-l1,#dde2e1)}.jP3NOa_item summary{cursor:pointer;align-items:center;gap:12px;min-height:44px;list-style:none;display:flex}.jP3NOa_item summary::-webkit-details-marker{display:none}.jP3NOa_item summary:before{content:\"›\";color:var(--dsw-alias-label-tertiary,#667477);font-size:18px;transition:transform .15s}.jP3NOa_item[open] summary:before{transform:rotate(90deg)}.jP3NOa_item summary strong{overflow-wrap:anywhere;min-width:0;font-weight:600}.jP3NOa_itemBody{gap:12px;padding:8px 0 18px 22px;display:grid}.jP3NOa_muted,.jP3NOa_note{color:var(--dsw-alias-label-secondary,#667477)}.jP3NOa_note{margin:0;font-size:12px}.jP3NOa_badge{color:#16816f;white-space:nowrap;margin-left:auto;font-size:11px}.jP3NOa_primary,.jP3NOa_secondary,.jP3NOa_iconButton{font:inherit;cursor:pointer;border:1px solid var(--dsw-alias-border-l1,#cbd5d3);background:var(--dsw-alias-bg-layer-1,#fff);min-height:32px;color:inherit;border-radius:5px;padding:5px 11px}.jP3NOa_primary{color:#fff;background:#187866;border-color:#187866}.jP3NOa_primary:disabled,.jP3NOa_secondary:disabled{opacity:.5;cursor:not-allowed}.jP3NOa_iconButton{place-items:center;width:32px;padding:0;display:inline-grid}.jP3NOa_priceGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.jP3NOa_priceGrid fieldset{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:5px;min-width:0;padding:10px 12px 12px}.jP3NOa_priceGrid legend{padding:0 5px;font-weight:600}.jP3NOa_priceGrid .jP3NOa_route{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.jP3NOa_prompt{resize:vertical;height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.jP3NOa_preview{border-top:1px solid var(--dsw-alias-border-l1,#dde2e1);padding-top:10px}.jP3NOa_preview summary{cursor:pointer}.jP3NOa_preview pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--dsw-alias-bg-layer-2,#f5f7f6);border-radius:5px;max-height:320px;padding:12px;font-size:12px;overflow:auto}.jP3NOa_error{color:#b23636}@media (width<=700px){.jP3NOa_page{padding:16px}.jP3NOa_route,.jP3NOa_priceGrid,.jP3NOa_priceGrid .jP3NOa_route{grid-template-columns:1fr}.jP3NOa_item summary{flex-wrap:wrap;gap:4px 10px}.jP3NOa_muted{overflow-wrap:anywhere}}.jP3NOa_picker{margin:10px 0 16px;position:relative}.jP3NOa_pickerPanel{border:1px solid var(--dsw-alias-border-l1,#dde2e1);background:var(--dsw-alias-bg-layer-1,#fff);border-radius:10px;margin-top:10px;padding:10px}.jP3NOa_search{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1,#dde2e1);width:100%;font:inherit;color:inherit;background:0 0;border-radius:8px;padding:7px 10px}.jP3NOa_pickerList{flex-direction:column;gap:2px;max-height:260px;margin-top:8px;display:flex;overflow:auto}.jP3NOa_pickerItem{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 9px;display:flex}.jP3NOa_pickerItem:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1f)}.jP3NOa_pickerItem strong{font-weight:600}.jP3NOa_peakBox{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:10px;flex-direction:column;gap:8px;margin:0 0 16px;padding:12px 14px;display:flex}.jP3NOa_holidayBox{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1,#dde2e1);width:100%;min-height:120px;font:inherit;color:inherit;resize:vertical;background:0 0;border-radius:8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.jP3NOa_backendOptions{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:10px;flex-direction:column;gap:8px;margin:14px 0 0;padding:12px 14px;display:flex}.jP3NOa_backendOptions h4{color:var(--dsw-alias-label-secondary,#667477);margin:0;font-size:13px;font-weight:600}.jP3NOa_installEntry{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.jP3NOa_modalBackdrop{z-index:60;background:#0000006b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.jP3NOa_modal{background:var(--dsw-alias-bg-layer-1,#fff);width:min(720px,100%);max-height:86vh;color:var(--dsw-alias-label-primary,#252b2d);border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:12px;overflow:auto;box-shadow:0 18px 48px #00000047}.jP3NOa_modalHead{border-bottom:1px solid var(--dsw-alias-border-l1,#dde2e1);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.jP3NOa_modalHead h3{margin:0;font-size:15px}.jP3NOa_modalBody{flex-direction:column;gap:10px;padding:14px 16px 18px;display:flex}.jP3NOa_modalBody h4{color:var(--dsw-alias-label-secondary,#586366);margin:6px 0 0;font-size:13px;font-weight:600}.jP3NOa_modeCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.jP3NOa_modeCard{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:10px;align-content:start;gap:6px;padding:10px 12px;display:grid}.jP3NOa_modeCard strong{font-weight:600}.jP3NOa_installBlock{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.jP3NOa_installProgress{flex-direction:column;gap:6px;display:flex}.jP3NOa_steps{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.jP3NOa_steps li{align-items:baseline;gap:8px;font-size:12px;display:flex}.jP3NOa_logBox summary{cursor:pointer;color:var(--dsw-alias-label-secondary,#667477);font-size:12px}.jP3NOa_log{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--dsw-alias-bg-layer-2,#f5f7f6);border-radius:6px;max-height:220px;margin:6px 0 0;padding:10px;font-size:12px;overflow:auto}@media (width<=700px){.jP3NOa_modeCards{grid-template-columns:1fr}}";
|
|
1336
|
+
const css$1 = ".jP3NOa_page{max-width:1020px;color:var(--dsw-alias-label-primary,#252b2d);margin:0 auto;padding:22px 24px 56px;font-size:13px;line-height:1.5}.jP3NOa_header,.jP3NOa_sectionHeading,.jP3NOa_actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.jP3NOa_header{border-bottom:1px solid var(--dsw-alias-border-l1,#dde2e1);padding-bottom:18px}.jP3NOa_header h2{margin:0;font-size:18px}.jP3NOa_section{border-bottom:1px solid var(--dsw-alias-border-l1,#dde2e1);padding:20px 0}.jP3NOa_section h3{margin:0 0 14px;font-size:15px}.jP3NOa_sectionHeading h3{margin:0 0 12px}.jP3NOa_toggle{cursor:pointer;align-items:center;gap:9px;min-height:32px;display:inline-flex}.jP3NOa_toggle input{accent-color:#218a77;width:16px;height:16px;margin:0}.jP3NOa_checks{flex-wrap:wrap;gap:8px 22px;display:flex}.jP3NOa_rule{gap:12px;display:grid}.jP3NOa_route{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.jP3NOa_field{gap:5px;min-width:0;display:grid}.jP3NOa_field span{color:var(--dsw-alias-label-secondary,#586366);font-size:12px}.jP3NOa_field input,.jP3NOa_field select,.jP3NOa_prompt{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1,#cbd5d3);background:var(--dsw-alias-bg-layer-1,#fff);width:100%;min-height:34px;color:var(--dsw-alias-label-primary,#252b2d);font:inherit;border-radius:5px;padding:6px 9px}.jP3NOa_field input:focus,.jP3NOa_field select:focus,.jP3NOa_prompt:focus{outline-offset:1px;outline:2px solid #218a77}.jP3NOa_item{border-top:1px solid var(--dsw-alias-border-l1,#dde2e1)}.jP3NOa_item:last-child{border-bottom:1px solid var(--dsw-alias-border-l1,#dde2e1)}.jP3NOa_item summary{cursor:pointer;align-items:center;gap:12px;min-height:44px;list-style:none;display:flex}.jP3NOa_item summary::-webkit-details-marker{display:none}.jP3NOa_item summary:before{content:\"›\";color:var(--dsw-alias-label-tertiary,#667477);font-size:18px;transition:transform .15s}.jP3NOa_item[open] summary:before{transform:rotate(90deg)}.jP3NOa_item summary strong{overflow-wrap:anywhere;min-width:0;font-weight:600}.jP3NOa_itemBody{gap:12px;padding:8px 0 18px 22px;display:grid}.jP3NOa_muted,.jP3NOa_note{color:var(--dsw-alias-label-secondary,#667477)}.jP3NOa_note{margin:0;font-size:12px}.jP3NOa_badge{color:#16816f;white-space:nowrap;margin-left:auto;font-size:11px}.jP3NOa_primary,.jP3NOa_secondary,.jP3NOa_iconButton{font:inherit;cursor:pointer;border:1px solid var(--dsw-alias-border-l1,#cbd5d3);background:var(--dsw-alias-bg-layer-1,#fff);min-height:32px;color:inherit;border-radius:5px;padding:5px 11px}.jP3NOa_primary{color:#fff;background:#187866;border-color:#187866}.jP3NOa_primary:disabled,.jP3NOa_secondary:disabled{opacity:.5;cursor:not-allowed}.jP3NOa_iconButton{place-items:center;width:32px;padding:0;display:inline-grid}.jP3NOa_priceGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.jP3NOa_priceGrid fieldset{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:5px;min-width:0;padding:10px 12px 12px}.jP3NOa_priceGrid legend{padding:0 5px;font-weight:600}.jP3NOa_priceGrid .jP3NOa_route{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.jP3NOa_prompt{resize:vertical;height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.jP3NOa_preview{border-top:1px solid var(--dsw-alias-border-l1,#dde2e1);padding-top:10px}.jP3NOa_preview summary{cursor:pointer}.jP3NOa_preview pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--dsw-alias-bg-layer-2,#f5f7f6);border-radius:5px;max-height:320px;padding:12px;font-size:12px;overflow:auto}.jP3NOa_error{color:#b23636}@media (width<=700px){.jP3NOa_page{padding:16px}.jP3NOa_route,.jP3NOa_priceGrid,.jP3NOa_priceGrid .jP3NOa_route{grid-template-columns:1fr}.jP3NOa_item summary{flex-wrap:wrap;gap:4px 10px}.jP3NOa_muted{overflow-wrap:anywhere}}.jP3NOa_picker{margin:10px 0 16px;position:relative}.jP3NOa_pickerPanel{border:1px solid var(--dsw-alias-border-l1,#dde2e1);background:var(--dsw-alias-bg-layer-1,#fff);border-radius:10px;margin-top:10px;padding:10px}.jP3NOa_search{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1,#dde2e1);width:100%;font:inherit;color:inherit;background:0 0;border-radius:8px;padding:7px 10px}.jP3NOa_pickerList{flex-direction:column;gap:2px;max-height:260px;margin-top:8px;display:flex;overflow:auto}.jP3NOa_pickerItem{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 9px;display:flex}.jP3NOa_pickerItem:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1f)}.jP3NOa_pickerItem strong{font-weight:600}.jP3NOa_peakBox{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:10px;flex-direction:column;gap:8px;margin:0 0 16px;padding:12px 14px;display:flex}.jP3NOa_capBox{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:10px;align-content:start;gap:10px;margin:0;padding:12px 14px;display:grid}.jP3NOa_capBox .jP3NOa_field{max-width:240px}.jP3NOa_holidayBox{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1,#dde2e1);width:100%;min-height:120px;font:inherit;color:inherit;resize:vertical;background:0 0;border-radius:8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.jP3NOa_backendOptions{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:10px;flex-direction:column;gap:8px;margin:14px 0 0;padding:12px 14px;display:flex}.jP3NOa_backendOptions h4{color:var(--dsw-alias-label-secondary,#667477);margin:0;font-size:13px;font-weight:600}.jP3NOa_installEntry{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.jP3NOa_modalBackdrop{z-index:60;background:#0000006b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.jP3NOa_modal{background:var(--dsw-alias-bg-layer-1,#fff);width:min(720px,100%);max-height:86vh;color:var(--dsw-alias-label-primary,#252b2d);border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:12px;overflow:auto;box-shadow:0 18px 48px #00000047}.jP3NOa_modalHead{border-bottom:1px solid var(--dsw-alias-border-l1,#dde2e1);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.jP3NOa_modalHead h3{margin:0;font-size:15px}.jP3NOa_modalBody{flex-direction:column;gap:10px;padding:14px 16px 18px;display:flex}.jP3NOa_modalBody h4{color:var(--dsw-alias-label-secondary,#586366);margin:6px 0 0;font-size:13px;font-weight:600}.jP3NOa_modeCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.jP3NOa_modeCard{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:10px;align-content:start;gap:6px;padding:10px 12px;display:grid}.jP3NOa_modeCard strong{font-weight:600}.jP3NOa_installBlock{border:1px solid var(--dsw-alias-border-l1,#dde2e1);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.jP3NOa_installProgress{flex-direction:column;gap:6px;display:flex}.jP3NOa_steps{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.jP3NOa_steps li{align-items:baseline;gap:8px;font-size:12px;display:flex}.jP3NOa_logBox summary{cursor:pointer;color:var(--dsw-alias-label-secondary,#667477);font-size:12px}.jP3NOa_log{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--dsw-alias-bg-layer-2,#f5f7f6);border-radius:6px;max-height:220px;margin:6px 0 0;padding:10px;font-size:12px;overflow:auto}@media (width<=700px){.jP3NOa_modeCards{grid-template-columns:1fr}}";
|
|
1329
1337
|
const tagId$1 = "dsh-reasoning-distill/Settings.module.css";
|
|
1330
1338
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
1331
1339
|
const tag = document.createElement("style");
|
|
@@ -1335,48 +1343,49 @@ window.__ModuleLoader__.load({
|
|
|
1335
1343
|
document.head.appendChild(tag);
|
|
1336
1344
|
}
|
|
1337
1345
|
var Settings_module_css_default = {
|
|
1338
|
-
"
|
|
1339
|
-
"actions": "jP3NOa_actions",
|
|
1340
|
-
"modalBackdrop": "jP3NOa_modalBackdrop",
|
|
1341
|
-
"modal": "jP3NOa_modal",
|
|
1342
|
-
"iconButton": "jP3NOa_iconButton",
|
|
1346
|
+
"capBox": "jP3NOa_capBox",
|
|
1343
1347
|
"secondary": "jP3NOa_secondary",
|
|
1344
|
-
"
|
|
1345
|
-
"
|
|
1346
|
-
"
|
|
1347
|
-
"pickerPanel": "jP3NOa_pickerPanel",
|
|
1348
|
-
"sectionHeading": "jP3NOa_sectionHeading",
|
|
1349
|
-
"installBlock": "jP3NOa_installBlock",
|
|
1350
|
-
"badge": "jP3NOa_badge",
|
|
1351
|
-
"page": "jP3NOa_page",
|
|
1352
|
-
"note": "jP3NOa_note",
|
|
1353
|
-
"priceGrid": "jP3NOa_priceGrid",
|
|
1354
|
-
"prompt": "jP3NOa_prompt",
|
|
1348
|
+
"checks": "jP3NOa_checks",
|
|
1349
|
+
"muted": "jP3NOa_muted",
|
|
1350
|
+
"error": "jP3NOa_error",
|
|
1355
1351
|
"rule": "jP3NOa_rule",
|
|
1352
|
+
"search": "jP3NOa_search",
|
|
1353
|
+
"modal": "jP3NOa_modal",
|
|
1354
|
+
"priceGrid": "jP3NOa_priceGrid",
|
|
1356
1355
|
"holidayBox": "jP3NOa_holidayBox",
|
|
1357
|
-
"
|
|
1358
|
-
"steps": "jP3NOa_steps",
|
|
1359
|
-
"header": "jP3NOa_header",
|
|
1360
|
-
"error": "jP3NOa_error",
|
|
1356
|
+
"route": "jP3NOa_route",
|
|
1361
1357
|
"picker": "jP3NOa_picker",
|
|
1362
|
-
"
|
|
1358
|
+
"steps": "jP3NOa_steps",
|
|
1363
1359
|
"section": "jP3NOa_section",
|
|
1360
|
+
"log": "jP3NOa_log",
|
|
1361
|
+
"note": "jP3NOa_note",
|
|
1362
|
+
"toggle": "jP3NOa_toggle",
|
|
1364
1363
|
"installEntry": "jP3NOa_installEntry",
|
|
1364
|
+
"modeCard": "jP3NOa_modeCard",
|
|
1365
|
+
"field": "jP3NOa_field",
|
|
1366
|
+
"pickerPanel": "jP3NOa_pickerPanel",
|
|
1367
|
+
"backendOptions": "jP3NOa_backendOptions",
|
|
1368
|
+
"modeCards": "jP3NOa_modeCards",
|
|
1369
|
+
"modalHead": "jP3NOa_modalHead",
|
|
1370
|
+
"pickerItem": "jP3NOa_pickerItem",
|
|
1371
|
+
"installProgress": "jP3NOa_installProgress",
|
|
1372
|
+
"itemBody": "jP3NOa_itemBody",
|
|
1365
1373
|
"primary": "jP3NOa_primary",
|
|
1366
|
-
"
|
|
1374
|
+
"prompt": "jP3NOa_prompt",
|
|
1375
|
+
"header": "jP3NOa_header",
|
|
1376
|
+
"iconButton": "jP3NOa_iconButton",
|
|
1377
|
+
"peakBox": "jP3NOa_peakBox",
|
|
1378
|
+
"sectionHeading": "jP3NOa_sectionHeading",
|
|
1367
1379
|
"modalBody": "jP3NOa_modalBody",
|
|
1368
1380
|
"logBox": "jP3NOa_logBox",
|
|
1369
|
-
"
|
|
1370
|
-
"pickerItem": "jP3NOa_pickerItem",
|
|
1371
|
-
"modeCard": "jP3NOa_modeCard",
|
|
1381
|
+
"badge": "jP3NOa_badge",
|
|
1372
1382
|
"pickerList": "jP3NOa_pickerList",
|
|
1373
|
-
"
|
|
1374
|
-
"
|
|
1375
|
-
"
|
|
1376
|
-
"
|
|
1377
|
-
"
|
|
1378
|
-
"preview": "jP3NOa_preview"
|
|
1379
|
-
"modalHead": "jP3NOa_modalHead"
|
|
1383
|
+
"page": "jP3NOa_page",
|
|
1384
|
+
"item": "jP3NOa_item",
|
|
1385
|
+
"actions": "jP3NOa_actions",
|
|
1386
|
+
"modalBackdrop": "jP3NOa_modalBackdrop",
|
|
1387
|
+
"installBlock": "jP3NOa_installBlock",
|
|
1388
|
+
"preview": "jP3NOa_preview"
|
|
1380
1389
|
};
|
|
1381
1390
|
//#endregion
|
|
1382
1391
|
//#region src/client/InstallBackend.tsx
|
|
@@ -1858,12 +1867,13 @@ window.__ModuleLoader__.load({
|
|
|
1858
1867
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: label })]
|
|
1859
1868
|
});
|
|
1860
1869
|
}
|
|
1861
|
-
function Count({ label, value, onChange, disabled = false }) {
|
|
1870
|
+
function Count({ label, value, onChange, disabled = false, min = 0, max }) {
|
|
1862
1871
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
1863
1872
|
className: Settings_module_css_default.field,
|
|
1864
1873
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: label }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
1865
1874
|
type: "number",
|
|
1866
|
-
min
|
|
1875
|
+
min,
|
|
1876
|
+
max,
|
|
1867
1877
|
step: "1",
|
|
1868
1878
|
value,
|
|
1869
1879
|
disabled,
|
|
@@ -2032,6 +2042,29 @@ window.__ModuleLoader__.load({
|
|
|
2032
2042
|
})
|
|
2033
2043
|
]
|
|
2034
2044
|
}),
|
|
2045
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
2046
|
+
className: Settings_module_css_default.capBox,
|
|
2047
|
+
children: [
|
|
2048
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Toggle, {
|
|
2049
|
+
label: t("settings.contextCap"),
|
|
2050
|
+
checked: rule.contextCap,
|
|
2051
|
+
disabled: idle,
|
|
2052
|
+
onChange: (contextCap) => change({ contextCap })
|
|
2053
|
+
}),
|
|
2054
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Count, {
|
|
2055
|
+
label: t("settings.maxContextPercent"),
|
|
2056
|
+
value: rule.maxContextPercent,
|
|
2057
|
+
min: 1,
|
|
2058
|
+
max: 100,
|
|
2059
|
+
disabled: idle || !rule.contextCap,
|
|
2060
|
+
onChange: (maxContextPercent) => change({ maxContextPercent })
|
|
2061
|
+
}),
|
|
2062
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
2063
|
+
className: Settings_module_css_default.note,
|
|
2064
|
+
children: t("settings.contextCapHint")
|
|
2065
|
+
})
|
|
2066
|
+
]
|
|
2067
|
+
}),
|
|
2035
2068
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
2036
2069
|
className: Settings_module_css_default.note,
|
|
2037
2070
|
children: t("settings.ruleIdle")
|
|
@@ -2789,41 +2822,41 @@ window.__ModuleLoader__.load({
|
|
|
2789
2822
|
document.head.appendChild(tag);
|
|
2790
2823
|
}
|
|
2791
2824
|
var View_module_css_default = {
|
|
2792
|
-
"
|
|
2793
|
-
"
|
|
2794
|
-
"
|
|
2825
|
+
"popupHead": "_7CZWHG_popupHead",
|
|
2826
|
+
"secondary": "_7CZWHG_secondary",
|
|
2827
|
+
"headerTrigger": "_7CZWHG_headerTrigger",
|
|
2795
2828
|
"popupFacts": "_7CZWHG_popupFacts",
|
|
2796
|
-
"
|
|
2797
|
-
"
|
|
2829
|
+
"actions": "_7CZWHG_actions",
|
|
2830
|
+
"negative": "_7CZWHG_negative",
|
|
2831
|
+
"rdPulse": "_7CZWHG_rdPulse",
|
|
2832
|
+
"facts": "_7CZWHG_facts",
|
|
2833
|
+
"header": "_7CZWHG_header",
|
|
2798
2834
|
"activityDotBlocked": "_7CZWHG_activityDotBlocked",
|
|
2799
|
-
"
|
|
2800
|
-
"
|
|
2801
|
-
"
|
|
2835
|
+
"page": "_7CZWHG_page",
|
|
2836
|
+
"muted": "_7CZWHG_muted",
|
|
2837
|
+
"entry": "_7CZWHG_entry",
|
|
2802
2838
|
"metric": "_7CZWHG_metric",
|
|
2803
|
-
"
|
|
2839
|
+
"popup": "_7CZWHG_popup",
|
|
2840
|
+
"activityLabel": "_7CZWHG_activityLabel",
|
|
2841
|
+
"sessionInfo": "_7CZWHG_sessionInfo",
|
|
2804
2842
|
"activeRow": "_7CZWHG_activeRow",
|
|
2843
|
+
"activityDot": "_7CZWHG_activityDot",
|
|
2805
2844
|
"summary": "_7CZWHG_summary",
|
|
2806
|
-
"
|
|
2845
|
+
"popupRow": "_7CZWHG_popupRow",
|
|
2846
|
+
"popupActions": "_7CZWHG_popupActions",
|
|
2847
|
+
"activityWhy": "_7CZWHG_activityWhy",
|
|
2807
2848
|
"entryTitle": "_7CZWHG_entryTitle",
|
|
2849
|
+
"textBlock": "_7CZWHG_textBlock",
|
|
2850
|
+
"note": "_7CZWHG_note",
|
|
2851
|
+
"section": "_7CZWHG_section",
|
|
2808
2852
|
"popupList": "_7CZWHG_popupList",
|
|
2809
|
-
"popup": "_7CZWHG_popup",
|
|
2810
|
-
"headerTrigger": "_7CZWHG_headerTrigger",
|
|
2811
|
-
"page": "_7CZWHG_page",
|
|
2812
|
-
"blockedBanner": "_7CZWHG_blockedBanner",
|
|
2813
2853
|
"error": "_7CZWHG_error",
|
|
2814
|
-
"
|
|
2815
|
-
"
|
|
2816
|
-
"activityLabel": "_7CZWHG_activityLabel",
|
|
2817
|
-
"facts": "_7CZWHG_facts",
|
|
2818
|
-
"actions": "_7CZWHG_actions",
|
|
2854
|
+
"activity": "_7CZWHG_activity",
|
|
2855
|
+
"blockedBanner": "_7CZWHG_blockedBanner",
|
|
2819
2856
|
"entryBody": "_7CZWHG_entryBody",
|
|
2820
|
-
"
|
|
2821
|
-
"
|
|
2822
|
-
"
|
|
2823
|
-
"rdPulse": "_7CZWHG_rdPulse",
|
|
2824
|
-
"secondary": "_7CZWHG_secondary",
|
|
2825
|
-
"header": "_7CZWHG_header",
|
|
2826
|
-
"negative": "_7CZWHG_negative"
|
|
2857
|
+
"positive": "_7CZWHG_positive",
|
|
2858
|
+
"iconButton": "_7CZWHG_iconButton",
|
|
2859
|
+
"sessionRow": "_7CZWHG_sessionRow"
|
|
2827
2860
|
};
|
|
2828
2861
|
//#endregion
|
|
2829
2862
|
//#region src/client/ActivityChip.tsx
|
|
@@ -3137,10 +3170,6 @@ window.__ModuleLoader__.load({
|
|
|
3137
3170
|
className: View_module_css_default.secondary,
|
|
3138
3171
|
onClick: () => openSession(id),
|
|
3139
3172
|
children: t("view.open")
|
|
3140
|
-
}),
|
|
3141
|
-
entry.sessionMissing === true && !expired && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
3142
|
-
className: View_module_css_default.note,
|
|
3143
|
-
children: t("view.auditUndurable")
|
|
3144
3173
|
})
|
|
3145
3174
|
]
|
|
3146
3175
|
})]
|