dsh-retrace 0.4.12 → 0.4.13
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.bundle.js +3 -1
- package/lib/client.js +3 -1
- package/lib/dynamic-client.js +3 -1
- package/lib/dynamic-host.js +4 -0
- package/lib/host-core.js +4 -0
- package/package.json +2 -2
package/lib/client.bundle.js
CHANGED
|
@@ -457,7 +457,9 @@ var recallMarkerDefinition = {
|
|
|
457
457
|
// the action-row suppression check (useShadowed) but empty for legacy
|
|
458
458
|
// so no row is hidden and no action row is suppressed for legacy
|
|
459
459
|
// markers (rename must never make visible content disappear).
|
|
460
|
-
|
|
460
|
+
// 2026-09-01:优先读 data.shadowedSeqs(host 冗余写入),fallback 顶层
|
|
461
|
+
// sourceEventSeqs——部分客户端事件管道剥离顶层字段导致隐藏失效。
|
|
462
|
+
shadowedSeqs: legacy ? [] : Array.isArray(event.data?.shadowedSeqs) ? event.data.shadowedSeqs.slice() : Array.isArray(event.sourceEventSeqs) ? event.sourceEventSeqs.slice() : [],
|
|
461
463
|
targetSeq: event.data?.editor?.targetSeq,
|
|
462
464
|
text: event.data?.editor?.text
|
|
463
465
|
};
|
package/lib/client.js
CHANGED
|
@@ -508,7 +508,9 @@ const recallMarkerDefinition = {
|
|
|
508
508
|
// the action-row suppression check (useShadowed) but empty for legacy
|
|
509
509
|
// so no row is hidden and no action row is suppressed for legacy
|
|
510
510
|
// markers (rename must never make visible content disappear).
|
|
511
|
-
|
|
511
|
+
// 2026-09-01:优先读 data.shadowedSeqs(host 冗余写入),fallback 顶层
|
|
512
|
+
// sourceEventSeqs——部分客户端事件管道剥离顶层字段导致隐藏失效。
|
|
513
|
+
shadowedSeqs: legacy ? [] : (Array.isArray(event.data?.shadowedSeqs) ? event.data.shadowedSeqs.slice() : (Array.isArray(event.sourceEventSeqs) ? event.sourceEventSeqs.slice() : [])),
|
|
512
514
|
targetSeq: event.data?.editor?.targetSeq,
|
|
513
515
|
text: event.data?.editor?.text,
|
|
514
516
|
}
|
package/lib/dynamic-client.js
CHANGED
|
@@ -463,7 +463,9 @@ return {
|
|
|
463
463
|
// the action-row suppression check (useShadowed) but empty for legacy
|
|
464
464
|
// so no row is hidden and no action row is suppressed for legacy
|
|
465
465
|
// markers (rename must never make visible content disappear).
|
|
466
|
-
|
|
466
|
+
// 2026-09-01:优先读 data.shadowedSeqs(host 冗余写入),fallback 顶层
|
|
467
|
+
// sourceEventSeqs——部分客户端事件管道剥离顶层字段导致隐藏失效。
|
|
468
|
+
shadowedSeqs: legacy ? [] : Array.isArray(event.data?.shadowedSeqs) ? event.data.shadowedSeqs.slice() : Array.isArray(event.sourceEventSeqs) ? event.sourceEventSeqs.slice() : [],
|
|
467
469
|
targetSeq: event.data?.editor?.targetSeq,
|
|
468
470
|
text: event.data?.editor?.text
|
|
469
471
|
};
|
package/lib/dynamic-host.js
CHANGED
|
@@ -142,6 +142,10 @@ return {
|
|
|
142
142
|
}
|
|
143
143
|
const surfaceOp = { op: 'replace', start: span.start, end: span.end }
|
|
144
144
|
const sourceEventSeqs = span.shadowedSeqs.slice()
|
|
145
|
+
// 2026-09-01:把遮蔽 seq 冗余进 data.shadowedSeqs——部分客户端事件管道会剥离
|
|
146
|
+
// event 顶层 sourceEventSeqs(0.4.12 实测:撤回/编辑后消息不隐藏 = client 拿不到
|
|
147
|
+
// shadowedSeqs)。data 里的字段随事件体持久化,client 读 data 更稳(fallback 顶层)。
|
|
148
|
+
data.shadowedSeqs = sourceEventSeqs
|
|
145
149
|
if (typeof validate === 'function') {
|
|
146
150
|
const result = await validate(session, { type: 'assistant/message', data, surfaceOp, sourceEventSeqs })
|
|
147
151
|
if (result && result.t1Ok === false) {
|
package/lib/host-core.js
CHANGED
|
@@ -133,6 +133,10 @@ export async function appendEditorMarker(session, span, op, targetSeq, originalT
|
|
|
133
133
|
}
|
|
134
134
|
const surfaceOp = { op: 'replace', start: span.start, end: span.end }
|
|
135
135
|
const sourceEventSeqs = span.shadowedSeqs.slice()
|
|
136
|
+
// 2026-09-01:把遮蔽 seq 冗余进 data.shadowedSeqs——部分客户端事件管道会剥离
|
|
137
|
+
// event 顶层 sourceEventSeqs(0.4.12 实测:撤回/编辑后消息不隐藏 = client 拿不到
|
|
138
|
+
// shadowedSeqs)。data 里的字段随事件体持久化,client 读 data 更稳(fallback 顶层)。
|
|
139
|
+
data.shadowedSeqs = sourceEventSeqs
|
|
136
140
|
if (typeof validate === 'function') {
|
|
137
141
|
const result = await validate(session, { type: 'assistant/message', data, surfaceOp, sourceEventSeqs })
|
|
138
142
|
if (result && result.t1Ok === false) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-retrace",
|
|
3
3
|
"description": "Retrace · 回溯 — Recall, edit-and-resend, regenerate, and conversation/artifact versioning (timeline, rollback, fork map) for DeepSeek Harness — Web and Desktop",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.13",
|
|
5
5
|
"packageManager": "pnpm@11.7.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "lib/index.js",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"react": "^18.2.0"
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
|
-
"dsh-log-contract": "^0.3.
|
|
88
|
+
"dsh-log-contract": "^0.3.7",
|
|
89
89
|
"zod": "^4.4.3"
|
|
90
90
|
},
|
|
91
91
|
"repository": {
|