@deepseek-ai/dsh-client-ui-trajectory 0.1.7-alpha.2 → 0.1.7-rc.1
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/README.i18n.yaml +2 -2
- package/README.md +2 -0
- package/README.zh.md +2 -0
- package/lib/client.js +6 -1
- package/package.json +17 -17
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/client/ui-trajectory/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 03553df4c69da9d5ec64416a8e65765d5dbcc904
|
|
6
|
+
README.zh.md: 7ce33007c40e77e9b288df988c4e7b7597576646
|
package/README.md
CHANGED
|
@@ -55,6 +55,8 @@ The view is a pure projection: Trajectory-owned Definitions assemble business re
|
|
|
55
55
|
|
|
56
56
|
Native and nested PTC Tool results retain their raw structured error details. Failed records show the error code in the ledger and the error name and code in the inspector.
|
|
57
57
|
|
|
58
|
+
Tool records begin at durable tool/call events and use complete arguments. Chat's transient preparing stage does not create Trajectory tool rows or alter historical tool timing.
|
|
59
|
+
|
|
58
60
|
A complete appended prompt without a loaded request header appears as a standalone system row; only its known text is available, with no inferred request options or tool catalog. Prepending its request history replaces that standalone presentation without duplicating the prompt. In-history system prompt changes compare against the most recent request state, including earlier prompt updates without a new request header. Each request retains the prompt and change that applied at its own position. Surface replacements, including compaction, restore the last nonempty surviving system prompt even without a new system event; an unloaded prompt remains unavailable until its page arrives.
|
|
59
61
|
|
|
60
62
|
### Virtual rows
|
package/README.zh.md
CHANGED
|
@@ -55,6 +55,8 @@ Trajectory 标签页让你以按轮次组织的事件记录表和交互式时间
|
|
|
55
55
|
|
|
56
56
|
原生与嵌套 PTC 工具结果保留原始结构化错误详情。失败记录在记录表中显示错误代码,在检查器中显示错误名称和代码。
|
|
57
57
|
|
|
58
|
+
工具记录从持久 tool/call 事件开始,使用完整参数。Chat 的瞬态 preparing 阶段不创建 Trajectory 工具行,也不改变历史工具计时。
|
|
59
|
+
|
|
58
60
|
完整的追加提示词在请求头未加载时显示为独立系统行;仅提供已知文本,不推断请求选项或工具目录。补入其请求历史后,该独立展示被替代而不重复提示词。历史中的系统提示词变更与最近的请求状态比较,包括没有新请求头的先前提示词更新。每个请求保留其所在位置生效的提示词与变更。包括压缩在内的 surface 替换会恢复最后一个非空的存活系统提示词,即使没有新的系统事件;未加载的提示词在对应分页到达前仍不可用。
|
|
59
61
|
|
|
60
62
|
### 虚拟行
|
package/lib/client.js
CHANGED
|
@@ -1274,6 +1274,7 @@ window.__ModuleLoader__.load({
|
|
|
1274
1274
|
role: "start"
|
|
1275
1275
|
} : null,
|
|
1276
1276
|
start: (_context, match, reader) => {
|
|
1277
|
+
if (match.event.type === "assistant/live-chunk") throw new Error("system-message requires a durable event");
|
|
1277
1278
|
const prior = reader.previous("trajectory-system-message")?.state;
|
|
1278
1279
|
const state = inspect(prior, match.event);
|
|
1279
1280
|
const node = state.effective;
|
|
@@ -1622,6 +1623,7 @@ window.__ModuleLoader__.load({
|
|
|
1622
1623
|
function rootCall(match) {
|
|
1623
1624
|
if (match.event.type !== "tool/call") throw new Error("trajectory-tool-call start requires tool/call");
|
|
1624
1625
|
return {
|
|
1626
|
+
phase: "start",
|
|
1625
1627
|
callId: String(match.event.data.callId),
|
|
1626
1628
|
name: match.event.data.name,
|
|
1627
1629
|
argsRaw: match.event.data.arguments,
|
|
@@ -1659,6 +1661,7 @@ window.__ModuleLoader__.load({
|
|
|
1659
1661
|
}
|
|
1660
1662
|
function childCall(match, data) {
|
|
1661
1663
|
return {
|
|
1664
|
+
phase: "start",
|
|
1662
1665
|
callId: data.subCallId,
|
|
1663
1666
|
parentCallId: data.parentCallId,
|
|
1664
1667
|
name: data.name,
|
|
@@ -7352,6 +7355,7 @@ window.__ModuleLoader__.load({
|
|
|
7352
7355
|
if (startedAt !== null) callStartById.set(result.callId, startedAt);
|
|
7353
7356
|
}
|
|
7354
7357
|
for (const call of runningCalls) {
|
|
7358
|
+
if (call.phase === "preparing") continue;
|
|
7355
7359
|
const startedAt = finiteTime(call.time);
|
|
7356
7360
|
if (startedAt !== null) callStartById.set(call.callId, startedAt);
|
|
7357
7361
|
}
|
|
@@ -7623,7 +7627,7 @@ window.__ModuleLoader__.load({
|
|
|
7623
7627
|
}
|
|
7624
7628
|
const seenCalls = collectCallIds(turns);
|
|
7625
7629
|
for (const call of runningCalls) {
|
|
7626
|
-
if (seenCalls.has(call.callId)) continue;
|
|
7630
|
+
if (call.phase === "preparing" || seenCalls.has(call.callId)) continue;
|
|
7627
7631
|
const laidList = [{
|
|
7628
7632
|
absTime: null,
|
|
7629
7633
|
toolName: call.name,
|
|
@@ -8011,6 +8015,7 @@ window.__ModuleLoader__.load({
|
|
|
8011
8015
|
const out = [];
|
|
8012
8016
|
let index = startIndex;
|
|
8013
8017
|
for (const sub of subs) {
|
|
8018
|
+
if (!("kind" in sub) && sub.phase === "preparing") continue;
|
|
8014
8019
|
const settled = "kind" in sub;
|
|
8015
8020
|
const resultPreview = settled ? summarizeResult(sub, t) : void 0;
|
|
8016
8021
|
const laid = {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-client-ui-trajectory",
|
|
3
3
|
"description": "Trajectory event ledger with an interactive timing overview: pure-consumer plugin registering into the conversation ViewMap (no service)",
|
|
4
|
-
"version": "0.1.7-
|
|
4
|
+
"version": "0.1.7-rc.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -48,23 +48,23 @@
|
|
|
48
48
|
"react-dom": "^18.2.0",
|
|
49
49
|
"@tanstack/react-virtual": "^3.14.9",
|
|
50
50
|
"diff": "^9.0.0",
|
|
51
|
-
"@deepseek-ai/dsh-agent": "0.1.7-
|
|
52
|
-
"@deepseek-ai/dsh-client-locale": "0.1.7-
|
|
53
|
-
"@deepseek-ai/dsh-client-test-runtime": "0.1.7-
|
|
54
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.1.7-
|
|
55
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.1.7-
|
|
56
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-
|
|
57
|
-
"@deepseek-ai/dsh-
|
|
58
|
-
"@deepseek-ai/dsh-
|
|
51
|
+
"@deepseek-ai/dsh-agent": "0.1.7-rc.1",
|
|
52
|
+
"@deepseek-ai/dsh-client-locale": "0.1.7-rc.1",
|
|
53
|
+
"@deepseek-ai/dsh-client-test-runtime": "0.1.7-rc.1",
|
|
54
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.1.7-rc.1",
|
|
55
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.1.7-rc.1",
|
|
56
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.1",
|
|
57
|
+
"@deepseek-ai/dsh-tools": "0.1.7-rc.1",
|
|
58
|
+
"@deepseek-ai/dsh-compaction": "0.1.7-rc.1",
|
|
59
59
|
"@deepseek-ai/cordis": "~4.0.4",
|
|
60
|
-
"@deepseek-ai/dsh-client-store": "0.1.7-
|
|
61
|
-
"@deepseek-ai/dsh-client-ui-chat": "0.1.7-
|
|
62
|
-
"@deepseek-ai/dsh-session": "0.1.7-
|
|
63
|
-
"@deepseek-ai/dsh-api-session-controller": "0.1.7-
|
|
64
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.1.7-
|
|
65
|
-
"@deepseek-ai/dsh-client-ui-session": "0.1.7-
|
|
66
|
-
"@deepseek-ai/dsh-
|
|
67
|
-
"@deepseek-ai/dsh-
|
|
60
|
+
"@deepseek-ai/dsh-client-store": "0.1.7-rc.1",
|
|
61
|
+
"@deepseek-ai/dsh-client-ui-chat": "0.1.7-rc.1",
|
|
62
|
+
"@deepseek-ai/dsh-session": "0.1.7-rc.1",
|
|
63
|
+
"@deepseek-ai/dsh-api-session-controller": "0.1.7-rc.1",
|
|
64
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.1.7-rc.1",
|
|
65
|
+
"@deepseek-ai/dsh-client-ui-session": "0.1.7-rc.1",
|
|
66
|
+
"@deepseek-ai/dsh-llm": "0.1.7-rc.1",
|
|
67
|
+
"@deepseek-ai/dsh-attachment": "0.1.7-rc.1"
|
|
68
68
|
},
|
|
69
69
|
"files": [
|
|
70
70
|
"lib/index.js",
|